• 关于

    bt

    的搜索结果

问题

java二叉树模板抽象化

蛮大人123 2019-12-01 19:39:48 1166 浏览量 回答数 1

回答

#include <stdio.h> #include<malloc.h> #define MaxSize 100 typedef char ElemType; typedef struct node { ElemType data; struct node *left,*right; } BTree; void creatree(BTree **BT,char *str) { BTree *stack[MaxSize],*p; int top=-1,k,j=0; char ch; *BT=NULL; ch=str[j]; while (ch!='\0') { switch(ch) { case '(': top++; stack[top]=p; k=1; //k=1为左结点 break; case ')': top--; break; case ',': k=2; //k=2为右结点 break; default: p=(BTree *)malloc(sizeof(BTree)); p->data=ch; p->left=p->right=NULL; if (*BT==NULL) *BT=p; else { switch(k) { case 1:stack[top]->left=p; break; case 2:stack[top]->right=p; break; } } } ch=str[++j]; } } void preorder(BTree *BT)//前序遍历递归算法 { if (BT!=NULL) { printf("%c",BT->data); preorder(BT->left); preorder(BT->right); } } void preorder1(BTree *BT)//前序遍历非递归算法 { BTree*p,*stack[MaxSize]; int top=-1; p=BT; while(top!=-1||p!=NULL) { while(p!=NULL) { printf("%c",p->data); stack[++top]=p; p=p->left; } if(top!=-1) { p=stack[top--]; p=p->right; } } } void inorder(BTree *BT)//中序遍历递归算法 { if (BT!=NULL) { inorder(BT->left); printf("%c",BT->data); inorder(BT->right); } } void inorder1(BTree *BT)//中序遍历非递归算法 { BTree *p,*stack[MaxSize]; int top=-1; p=BT; while(top!=-1||p!=NULL) { while(p!=NULL) { stack[++top]=p; p=p->left; } if(top!=-1) { p=stack[top--]; printf("%c",p->data); p=p->right; } } } void postorder(BTree *BT)//后序遍历递归算法 { if (BT!=NULL) { postorder(BT->left); postorder(BT->right); printf("%c",BT->data); } } void postorder1(BTree *BT)//后序遍历非递归算法 { typedef enum{L,R} tagtype; typedef struct { BTree *ptr; tagtype tag; }stacknode; stacknode x; BTree *p; stacknode stack[MaxSize]; int top=-1; p=BT; do { while (p!=NULL) { x.ptr = p; x.tag = L;//标记为左子树 stack[++top]=x; p=p->left; } while (top!=-1 && stack[top].tag==R) { x=stack[top]; top--; p=x.ptr; printf("%c",p->data); } if (top!=-1) { stack[top].tag=R;//标记为左子树 p=stack[top].ptr->right; } }while (top!=-1); } int BTreeDepth(BTree *BT)//树的深度 { int leftdep,rightdep; if (BT==NULL) return(0); else { leftdep=BTreeDepth(BT->left); rightdep=BTreeDepth(BT->right); if (leftdep>rightdep) return(leftdep+1); else return(rightdep+1); } } int leafcount(BTree *BT)//叶子结点数 { if (BT==NULL) return(0); else if (BT->left==NULL && BT->right==NULL) return(1); else return(leafcount(BT->left)+leafcount(BT->right)); } void main() { BTree *BT; char *s="A(B(D,E(H,I)),C(F,G))"; creatree(&BT,s); printf("\n前序遍历(递归算法):"); preorder(BT); printf("\n前序遍历(非递归算法):"); preorder1(BT); printf("\n中序遍历(递归算法):"); inorder(BT); printf("\n中序遍历(非递归算法):"); inorder1(BT); printf("\n后序遍历(递归算法):"); postorder(BT); printf("\n后序遍历(非递归算法):"); postorder1(BT); printf("\nThe depth is %d\n",BTreeDepth(BT)); printf("The leaves is %d\n",leafcount(BT)); }

boxti 2019-12-02 01:25:11 0 浏览量 回答数 0

回答

//自己好好看看,不理解的即时问 #include <stdio.h> #include <malloc.h> typedef int KeyType; typedef char InfoType[10]; typedef struct node //记录类型 { KeyType key; //关键字项 InfoType data; //其他数据域 struct node *lchild,*rchild; //左右孩子指针 } BSTNode; int InsertBST(BSTNode *&p,KeyType k) { if (p==NULL) //原树为空, 新插入的记录为根结点 { p=(BSTNode *)malloc(sizeof(BSTNode)); p->key=k; p->lchild=p->rchild=NULL; return 1; } else if (k==p->key) //树中存在相同关键字的结点,返回0 return 0; else if (k<p->key) return InsertBST(p->lchild,k); //插入到*p的左子树中 else return InsertBST(p->rchild,k); //插入到*p的右子树中 } BSTNode *CreateBST(KeyType A[],int n) //返回BST树根结点指针 { BSTNode *bt=NULL; //初始时bt为空树 int i=0; while (i<n) { InsertBST(bt,A[i]); //将关键字A[i]插入二叉排序树T中 i++; } return bt; //返回建立的二叉排序树的根指针 } void DispBST(BSTNode *bt) //使用广义表的方式,输出一棵排序二叉树 { if (bt!=NULL) { printf("%d",bt->key); if (bt->lchild!=NULL || bt->rchild!=NULL) { printf("("); //有孩子结点时才输出( DispBST(bt->lchild); //递归处理左子树 if (bt->rchild!=NULL) printf(","); //有右孩子结点时才输出, DispBST(bt->rchild); //递归处理右子树 printf(")"); //有孩子结点时才输出) } } } BSTNode *SearchBST(BSTNode *bt,KeyType k) { if (bt==NULL || bt->key==k) //递归终结条件 return bt; if (k<bt->key) return SearchBST(bt->lchild,k); //在左子树中递归查找 else return SearchBST(bt->rchild,k); //在右子树中递归查找 } void main() { BSTNode *bt,*p,*f; int n=9; KeyType a[]=; bt=CreateBST(a,n); printf("BST:"); DispBST(bt); printf("\n"); }

琴瑟 2019-12-02 01:23:41 0 浏览量 回答数 0

阿里云试用中心,为您提供0门槛上云实践机会!

0元试用32+款产品,最高免费12个月!拨打95187-1,咨询专业上云建议!

回答

算法如下: #include "stdio.h" #include "malloc.h" #define ELEMTYPE char typedef struct BiTNode { ELEMTYPE data; struct BiTNode *lchild,*rchild; } BiTNode; BiTNode *bulid() /*建树*/ { BiTNode *q; BiTNode *s[20]; int i,j; char x; printf("请按顺序输入二叉树的结点以输入0和*号结束\n"); printf("请输入你要输入的为第几个结点i=\n"); scanf("%d",&i); printf("请输入你要输入该结点的数为x="); getchar(); scanf("%c",&x); while(i!=0&&x!='*') {q=(BiTNode*)malloc(sizeof(BiTNode)); q->data=x; q->rchild=NULL; q->lchild=NULL; s[i]=q; if(i!=1) { j=i/2; if(i%2==0) s[j]->lchild=q; else s[j]->rchild=q; } printf("请输入你要输入的为第几个结点x=\n"); scanf("%d",&i); printf("请输入你要输入该结点的数x="); getchar(); scanf("%c",&x); } return s[1]; } void preoder(BiTNode *bt) /*先序遍历*/ { if(bt!=NULL) { printf("%c\n",(bt->data)); preoder(bt->lchild); preoder(bt->rchild); } } void InOrder(BiTNode *bt) /*中序遍历*/ { if(bt!=NULL) { InOrder(bt->lchild); printf("%c\n",bt->data); InOrder(bt->rchild); } } void postOrder(BiTNode *bt) /*后序遍历*/ { if(bt!=NULL) { postOrder(bt->lchild); postOrder(bt->rchild); printf("%c\n",bt->data); } } main() { int a; BiTNode *bt; bt=bulid(); k1: printf("需要先序遍历输出请输入1,中序遍历请输入2,后序遍历请输入3,结束输入0:"); scanf("%d",&a); switch(a) { case(1): preoder(bt); goto k1; case(2): InOrder(bt); goto k1; case(3): postOrder(bt); goto k1; case(0): break; } }

小哇 2019-12-02 01:24:59 0 浏览量 回答数 0

回答

// 二叉树_C.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "malloc.h" #define MAX 1240 typedef struct bitnode { char data; struct bitnode *lchild,*rchild; }BiTNode,*BiTree; /*初始化*/ BiTree Initiate() { BiTNode *bt; bt=NULL; return bt; } /*生成根节点*/ BiTree Create(char x,BiTree lbt,BiTree rbt) { BiTree p; if((p=(BiTNode *)malloc(sizeof(BiTNode)))==NULL)return NULL; p->data=x; p->lchild=lbt; p->rchild=rbt; return p; } /*添加左节点*/ BiTree InsertL(BiTree bt,char x,BiTree parent) { BiTree p; if(parent==NULL) { printf("\n插入出错!\n"); return NULL; } if((p=(BiTNode *)malloc(sizeof(BiTNode)))==NULL) return NULL; p->data=x; p->lchild=NULL; p->rchild=NULL; if(parent->lchild==NULL) parent->lchild=p; else { p->lchild=parent->lchild; parent->lchild=p; } return bt; } /*添加右节点*/ BiTree InsertR(BiTree bt,char x,BiTree parent) { BiTree p; if(parent==NULL) { printf("\n插入出错!"); return NULL; } if((p=(BiTNode *)malloc(sizeof(BiTNode)))==NULL) return NULL; p->data=x; p->lchild=NULL; p->rchild=NULL; if(parent->rchild==NULL) parent->rchild=p; else { p->rchild=parent->rchild; parent->rchild=p; } return bt; } /*删除左子树*/ BiTree DeleteL(BiTree bt,BiTree parent) { BiTree p; if(parent==NULL||parent->lchild==NULL) { printf("\n删除出错!"); return NULL; } p=parent->lchild; parent->lchild=NULL; free(p); return bt; } /*删除右子树*/ BiTree DeleteR(BiTree bt,BiTree parent) { BiTree p; if(parent==NULL||parent->rchild==NULL) { printf("\n删除出错!"); return NULL; } p=parent->rchild; parent->rchild=NULL; free(p); return bt; } /*访问节点值*/ void Vist(BiTree bt) { printf("%c\t",bt->data); } /*递归前序遍历*/ void PreOrder(BiTree bt) { if(bt==NULL) return; Vist(bt); PreOrder(bt->lchild); PreOrder(bt->rchild); } /*递归中序遍历*/ void InOrder(BiTree bt) { if(bt==NULL) return; InOrder(bt->lchild); Vist(bt); InOrder(bt->rchild); } /*递归后序遍历*/ void PostOrder(BiTree bt) { if(bt==NULL) return; PostOrder(bt->lchild); PostOrder(bt->rchild); Vist(bt); } /*非递归前序遍历*/ void NRPreOrder(BiTree bt) { BiTNode *stack[MAX],*p; int top=-1; //栈初始化为空 if(bt==NULL) return; p=bt; //p指向根结点 while(! (p == NULL && top == -1)) { while(p!=NULL) { Vist(p); top++; stack[top]=p; p=p->lchild; } if(top<0) return; else { p=stack[top]; top--; p=p->rchild; } } } /*非递归中序遍历*/ void NRInOrder(BiTree bt) { BiTNode *stack[MAX],*p; int top=-1; //栈初始化为空 if(bt==NULL) return; p=bt; //p指向根结点 while(! (p == NULL && top == -1)) { while(p!=NULL) { top++; stack[top]=p; p=p->lchild; } if(top<0) return; else { p=stack[top]; Vist(p); top--; p=p->rchild; } } } /*非递归后序遍历*/ void NRPostOrder(BiTree bt) { BiTNode *stack[MAX]; int Frist[MAX]; //判断在栈中的次数,正则第一次,负则第二次 BiTNode *p; int top=-1; //栈初始化为空 if(bt==NULL) return; p=bt; //p指向根结点 while(! (p == NULL && top == -1)) { while(p != NULL) { top++; stack[top]=p; Frist[top]=1; p=p->lchild; } if(top > -1) { if(Frist[top] > 0) { p=stack[top]->rchild; Frist[top]=-Frist[top]; } else { p=stack[top]; top--; Vist(p); p=NULL; } } } } /*层次遍历*/ void LevelOrder(BiTree bt) { BiTNode *Queue[MAX]; int front,rear; if(bt==NULL)return; front=-1; rear=0; Queue[rear]=bt; while(front!=rear) { front++; Vist(Queue[front]); //出队,并取值输出 if(Queue[front]->lchild!=NULL) //入队操作 { rear++; Queue[rear]=Queue[front]->lchild; } if(Queue[front]->rchild!=NULL) { rear++; Queue[rear]=Queue[front]->rchild; } } } int _tmain(int argc, _TCHAR* argv[]) { BiTree t,tr=NULL,tl=NULL; t=Initiate(); t=Create('A',tl,tr); printf("根节点:\n"); PreOrder(t); t=InsertL(t,'B',t); t=InsertR(t,'C',t); t=InsertL(t,'D',t->lchild); t=InsertR(t,'G',t->lchild->lchild); t=InsertL(t,'E',t->rchild); t=InsertR(t,'F',t->rchild); printf("\n二叉树遍历情况如下:\n"); printf("递归法前序遍历: "); PreOrder(t); printf("\n"); printf("非递归法前序遍历:"); NRPreOrder(t); printf("\n"); printf("\n"); printf("递归法中序遍历: "); InOrder(t); printf("\n"); printf("非递归法中序遍历:"); NRInOrder(t); printf("\n"); printf("\n"); printf("递归法后序遍历: "); PostOrder(t); printf("\n"); printf("非递归法中序遍历:"); NRPostOrder(t); printf("\n"); printf("\n"); printf("层次遍历: "); LevelOrder(t); printf("\n"); //printf("\n删除后的为:\n"); //t=DeleteL(t,t->lchild); //printf("前序遍历:"); //PreOrder(t); return 0; }

a123456678 2019-12-02 02:17:31 0 浏览量 回答数 0

回答

for(int i=1; i<=6;i++) { UIButton bt; bt setTitle: ... forState....] bt.tag = i; [someview addSubview bt];}要通过tag召回button就这样:UIButton bt1 = (UIButton )[somview viewWithTag:1];

杨冬芳 2019-12-02 03:02:33 0 浏览量 回答数 0

回答

应该是由于 bt_ask_to_cate_backup 在 where 条件里出现了吧,可以copy出一个新表,然后用新表做查询条件 ,下边的代码没测试过。注意备份你的数据create table bt_ask_to_cate_backup_temp select * from bt_ask_to_cate_backup; delete from bt_ask_to_cate_backup where (ask_id, cate) in (SELECT ask_id, cate FROM bt_ask_to_cate_backup_temp group by ask_id,cate having count(*) > 1 ) and id not in (SELECT min(id) FROM bt_ask_to_cate_backup_temp group by ask_id,cate having count(*) > 1 )

蛮大人123 2019-12-02 01:44:34 0 浏览量 回答数 0

回答

#include<stdio.h> #include<malloc.h> typedef struct binode{ int data; struct binode *lchild,*rchild; }binode,*bitree; typedef struct{ bitree elem[100]; int top; }stack; bitree creat_bt(){ //按扩展前序建二叉树 bitree t;int x; scanf("%d",&x); if (x==0) t=NULL; else { t=(bitree)malloc(sizeof(binode)); t->data=x; t->lchild=creat_bt(); t->rchild=creat_bt(); } return t; } void exchange(bitree t) //左、右子树交换 {bitree p; if(t!=NULL) { p=t->lchild;t->lchild=t->rchild; t->rchild=p; exchange(t->lchild); exchange(t->rchild); } } void inorder(bitree bt) //递归的中序遍历 { if (bt){ inorder(bt->lchild); printf("% d",bt->data); inorder(bt->rchild); } } main() {bitree root; printf("\n"); printf("建二叉树,输入元素:"); root=creat_bt(); /*create tree of useing preorder*/ printf("交换前的中序序列是:"); inorder(root); exchange(root); printf("\n交换后的中序序列是:"); inorder(root); printf("\n"); }

祁同伟 2019-12-02 01:24:22 0 浏览量 回答数 0

回答

//非递归方法 pbinary_tree_node copy_binary_tree(pbinary_tree_node bt) {//先序遍历输出一颗树的全部结点值1,2,3 stack<pbinary_tree_node> stack_left,stack_right; pbinary_tree_node newbt; if (bt!=NULL) { //new root newbt=new binary_tree_node; newbt->data=bt->data; //travel bt and travel newbt at the same time stack_left.push(bt); stack_right.push(newbt); while (!stack_left.empty()) { pbinary_tree_node pleft=stack_left.top(); pbinary_tree_node pright=stack_right.top(); stack_left.pop(); stack_right.pop(); if (pleft->rchild!=0) { stack_left.push(pleft->rchild); pright->rchild=new binary_tree_node; pright->rchild->data=pleft->rchild->data; stack_right.push(pright->rchild); } if (pleft->lchild!=0) { stack_left.push(pleft->lchild); pright->lchild=new binary_tree_node; pright->lchild->data=pleft->lchild->data; stack_right.push(pright->lchild); } } } return newbt; } //递归方法 void copy_binary_tree(pbinary_tree_node bt,pbinary_tree_node &newbt) { if(bt!=NULL) { newbt=(pbinary_tree_node )malloc(sizeof(binary_tree_node)); newbt->data=bt->data; copy_binary_tree(bt->lchild,newbt->lchild); copy_binary_tree(bt->rchild,newbt->rchild); } else newbt=NULL; } 这个应该没问题了,

青衫无名 2019-12-02 01:24:40 0 浏览量 回答数 0

回答

int height(BinTreeNode *BT) { int h = -1, left, right; if (BT != NULL) { left = height(BT->leftchild); right = height(BT->rightchild); h = (left > right ? left : right) + 1; } return h; }

liujae 2019-12-02 01:25:49 0 浏览量 回答数 0

问题

做“深度学习”实验时,跑mxnet的阿里云例子,报如下错,大神们帮忙指点

windfor 2019-12-01 21:38:23 3466 浏览量 回答数 1

问题

i-2zehpr9ik1n3bt9imsr0这个实例不能远程桌面

游客elcmjsbac7ebq 2019-12-01 19:25:15 54 浏览量 回答数 1

问题

java socket客户端和Python socket客户端的不同?

蛮大人123 2019-12-01 19:54:39 1803 浏览量 回答数 1

回答

通用: valgrind + kcachegrind Linux上Qt Creator集成了 valgrind 前端 ,进行内存分析也很方便: http://dragly.org/wp-content/uploads/2013/03/qt-valgrind.png Linux上可以使用Qt Creator进行通用Linux C/C++服务器程序开发: http://my.oschina.net/eechen/blog/166969 内存泄漏火焰图 sample-bt-leaks sample-bt-leaks 会追踪和统计进程中对 glibc 的内存分配和释放函数 malloc/calloc/realloc/free 的调用,能捕捉 valgrind 无法检测的泄漏。 https://github.com/agentzh/stapxx#sample-bt-leaks http://agentzh.org/misc/flamegraph/nginx-leaks-2013-10-08.svg CPU使用情况火焰图 sample-bt-off-cpu https://github.com/agentzh/nginx-systemtap-toolkit#sample-bt-off-cpu http://agentzh.org/misc/flamegraph/off-cpu-lua-resty-mysql.svg 更多详情请关注OpenResty作者章亦春的技术微博: http://weibo.com/agentzh

爵霸 2019-12-02 02:40:11 0 浏览量 回答数 0

问题

解析BT种子遇到的编码问题:报错

kun坤 2020-06-08 11:03:19 2 浏览量 回答数 1

问题

求助,阿里云能不能建BT论坛

ie29.com 2019-12-01 21:02:19 5152 浏览量 回答数 2

问题

虚拟主机和轻云主机通过伪静态实现子目录绑定功能不能使用

jixiangtu 2019-12-01 21:45:12 5869 浏览量 回答数 4

问题

异步接口中间过程的监听

云栖大讲堂 2019-12-01 21:09:31 1104 浏览量 回答数 0

回答

1:问问段锡强,2:问问我。3:随便void NRPreOrder(BiTree BT,*visit(ElemType)){ if (BT) { InitStack (S); Push(S,BT); while (!StackEmpty(S)) { Pop(S,p);visit(P->data); if(p->lchild)Push (S, p->lchild); if(p->lchild)Push (S, p->lchild); } }}

沉默术士 2019-12-02 01:25:45 0 浏览量 回答数 0

回答

var bt=document.getElementById("bt2").value;

24k-xf 2019-12-02 00:53:57 0 浏览量 回答数 0

回答

BT 用着还是不错的,想办法把网站数据导出直接使用宝塔部署得了。另外一个可能是BT占用了80端口影响了nginx 启动。

云飒& 2019-12-02 01:59:29 0 浏览量 回答数 0

回答

Re虚拟主机和轻云主机通过伪静态实现子目录绑定功能不能使用 最后网站文章也不能访问了 到底怎么回事呀  怎么重定向还把原网站弄得也登不上了 ------------------------- 回 2楼dongshan8的帖子 使用该规则后 为啥链接一直是这样的 :h t t p ://img.bt1024.site/mpic/  带*/mpic/*这一目录 不能直接用  img.bt1024.site 访问  它会自动跳转到  img.bt1024.site/mpic 这样的链接下

jixiangtu 2019-12-02 02:53:06 0 浏览量 回答数 0

回答

0?0DLR(liuyu *root) /*中序遍历 递归函数*/ {if(root!=NULL) {if((root->lchild==NULL)&&(root->rchild==NULL)){sum++; printf("%d\n",root->data);} DLR(root->lchild); DLR(root->rchild); } return(0); } 法二: int LeafCount_BiTree(Bitree T)//求二叉树中叶子结点的数目 { if(!T) return 0; //空树没有叶子 else if(!T->lchild&&!T->rchild) return 1; //叶子结点 else return Leaf_Count(T->lchild)+Leaf_Count(T->rchild);//左子树的叶子数加 上右子树的叶子数 }//LeafCount_BiTree 注:上机时要先建树。例如实验二的方案一。 ① 打印叶子结点值(并求总数) 思路:先建树,再从遍历过程中打印结点值并统计。-------------------------写了个比较简单的,包括建立二叉树,还有你需要的递归函数,不懂可追问 #include <stdio.h> #include <malloc.h> #define CURRENT 0 #define LEFT 1 #define RIGHT 2 typedef struct BiTree { char data; //数据 BiTree* lchild; //左孩子节点 BiTree* rchild; //右孩子节点 BiTree* parent; //父节点 }BiTree; void InitBiTree(BiTree* tree) //构造空二叉树 { tree = NULL; } void CreateTree(BiTree* tree, char data) //给二叉树赋值 { tree->data = data; tree->parent = NULL; tree->lchild = NULL; tree->rchild = NULL; } int InsertChild(BiTree* tree, int pos, char data) //给孩子节点赋值 { if (pos == LEFT) { if (tree->lchild != NULL) { printf("insert left child error!\n"); return false; } BiTree* t = (BiTree*)malloc(sizeof(BiTree)); tree->lchild = t; t->data = data; t->lchild = NULL; t->rchild = NULL; t->parent = tree; return 1; } else if (pos == RIGHT) { if (tree->rchild != NULL) { printf("insert right child error!\n"); return 0; } BiTree* t = (BiTree*)malloc(sizeof(BiTree)); tree->rchild = t; t->data = data; t->lchild = NULL; t->rchild = NULL; t->parent = tree; return 1; } return 0; } int PreOrderTraverse(BiTree* tree, int* countchildren, int* countleaves) // 递归函数 { BiTree* p = tree; if (p) { (*countchildren)++; // 如果那个节点有数据,就增加子节点数 int lnull, runll; if (lnull = PreOrderTraverse(p->lchild, countchildren, countleaves)) { if (runll = PreOrderTraverse(p->rchild, countchildren, countleaves)) { if (lnull == -1 && runll == -1) // 如果左右节点都为空,则增加叶子节点数 { (*countleaves)++; } return 1; } } return 0; } else { return -1; } } int main() { BiTree bt; int countchildren = 0; int countleaves = 0; InitBiTree(&bt); CreateTree(&bt, 's'); InsertChild(&bt, LEFT, 'i'); InsertChild(bt.lchild, LEFT, 'A'); InsertChild(bt.lchild->lchild, LEFT, 'x'); InsertChild(bt.lchild, RIGHT, 'B'); InsertChild(bt.lchild->rchild, RIGHT, 'y'); InsertChild(&bt, RIGHT, 'o'); PreOrderTraverse(&bt, &countchildren, &countleaves); printf("countchildren : %d\n", countchildren); printf("countleaves : %d\n", countleaves); return 0; }

聚小编 2019-12-02 01:24:35 0 浏览量 回答数 0

问题

Linux全自动安装面板脚本,支持目前比较流行的国内面板。

梦丫头 2019-12-01 22:05:24 13262 浏览量 回答数 12

回答

#include <stdio.h> #include <stdlib.h> #include <malloc.h> #define OK 1 #define ERROR 0 #define OVERFLOW -1 typedef char TElemType; typedef struct Btn{ TElemType data; struct Btn *lchild , *rchild; }BTN ,*BT; int CreateBT(BT &T) { //按前序遍历规则创建二叉树,请输入结点 //(不存在的结点用*代替),如"AB*DG***CEM**N**F*X**" char ch; getchar(); printf("\n请输入二叉树的元素\n"); scanf("%c",&ch); if(ch == '*')T = NULL; else { if(!(T = (BTN *)malloc(sizeof(BTN)))) exit(OVERFLOW); T->data = ch; CreateBT(T->lchild); CreateBT(T->rchild); } return OK; }//创建二叉树 int PreOrderT(BT T ) { //前序遍历二叉树 T:打印每个结点的数据域一次且仅一次 if (T != NULL) { printf("%c \n", T -> data); PreOrderT( T -> lchild ) ; PreOrderT( T -> rchild ) ; } return OK; }//先序遍历二叉树 int InOrderT(BT T) { //后序遍历二叉树 T:打印每个结点的数据域一次且仅一次 if (T != NULL) { InOrderT( T -> lchild ) ; printf("%c \n", T -> data); InOrderT( T -> rchild ) ; } return OK; }//后序遍历二叉树 T int PostOrderT(BT T) { //后序遍历二叉树 T:打印每个结点的数据域一次且仅一次 if (T != NULL) { PostOrderT( T -> lchild ) ; PostOrderT( T -> rchild ) ; printf("%c \n", T -> data); } return OK; }//后序遍历二叉树 T BT LocateElem(BT T , TElemType e){ //编写算法在二叉树T(二叉链表存储结构)中查找数据元素e。 //查找成功返回结点地址;否则返回NULL BT s; if (T->data == e || T == NULL ) return (T); s = LocateElem ( T -> lchild, e ) ; if ( s != NULL ) return (s); else return ( LocateElem ( T -> rchild , e ) ) ; }//中查找数据元素e int BTnum(BT T){ // 编写算法统计二叉树T(二叉链表存储结构)的结点总数 int i=0; if (T != NULL) { InOrderT( T -> lchild ) ; i++; InOrderT( T -> rchild ) ; } return i; } int BTdepth(BT T){ //编写算法求二叉树T(二叉链表存储结构)的深度。 int rd,ld; if(!T) return 0; else { ld=BTdepth(T->lchild); rd=BTdepth(T->rchild); if(ld>rd) return rd+1; else return ld+1; } } /*int LevelElem(BT T,TElemType e){ //求e在T中的层次。如果不存在,返回值为0;否则,返回值为层次。 int rd,ld; if(!T) return 0; else if(e!=T->data){ ld=BTdepth(T->lchild); rd=BTdepth(T->rchild); if(ld>rd) return rd+1; else return ld+1; } }*/ int main(){ BT T; TElemType e; int /*Te,*/j; while(j){ printf("\n请输入你要的功能\n"); printf("-----华丽的分割线------\n"); printf("1:按前序遍历规则创建二叉树\n"); printf("2:前序遍历二叉树 T\n"); printf("3:中序遍历二叉树 T\n"); printf("4:后序遍历二叉树 T\n"); printf("5:查找数据元素e\n"); printf("6:统计二叉树T的结点总数\n"); printf("7:编写算法求二叉树T的深度\n"); printf("0:退出程序\n"); // printf("8:求e在T中的层次\n"); printf("-----华丽的分割线------\n"); scanf("%d",&j); switch(j){ case 1:CreateBT(T);break; case 2:PreOrderT(T);break; case 3:InOrderT(T);break; case 4:PostOrderT(T);break; case 5: printf("\n请输入想要查找的元素\n"); scanf("%c",&e); LocateElem(T,e);break; case 6: BTnum(T); case 7:BTdepth(T);break; /* case 8: printf("\n请输入元素\n"); scanf("%c",&e); Te=LevelElem(T,e); printf("\n%c的层数为%d\n",e,Te); break;*/ case 0:exit(1); } } return 0; } 给分

boxti 2019-12-02 01:25:51 0 浏览量 回答数 0

问题

搭建好的BT数据分析结果有接口提供查询吗?

85后老钟 2019-12-01 19:59:50 866 浏览量 回答数 1

回答

云服务器安装linux系统桌面环境 以linux系统BT面板为例子: 远程登录公网IP地址加端口号 Linux面板的安装 查看下面的命令,选择合适自己Linux系统的安装脚本进行安装,或者在宝塔Linux面板上查看脚本安装地址。 Centos安装命令: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install\_6.0.sh && sh install.sh Ubuntu/Deepin安装命令: wget -O install.sh http://download.bt.cn/install/install-ubuntu\_6.0.sh && sudo bash install.sh Debian安装命令: wget -O install.sh http://download.bt.cn/install/install-ubuntu\_6.0.sh && bash install.sh Fedora安装命令: wget -O install.sh http://download.bt.cn/install/install\_6.0.sh && bash install.sh 以Centos安装命令为例子: 过程中出现2次选择 y 安装完成后,会提示安装成功的提示,面板地址,面板账号还有密码,(如图): 注意事项:请妥善保存面板地址、账号和密码。 第三步:安装完成 到此 服务器添加8888端口 完成   公网IP:8888 在浏览器输入面板地址(公网IP:8888): 弹出 作者:万千度

万千度 2019-12-02 01:10:46 0 浏览量 回答数 0

问题

Android项目一点录音按钮就停止运行

爵霸 2019-12-01 19:38:22 1163 浏览量 回答数 1

回答

建议你先学会google 《UNIX编程艺术》对你的问题有很清楚的说明。 国内主要用来做网站的多。另外,BT软件客户端和服务器端最早的实现就是Python做的。 著名的bt 下载工具是用 python开发的

游客bnlxddh3fwntw 2020-04-24 22:10:33 0 浏览量 回答数 0

回答

此问题,建议你将“A手机把wifi所接收的数据通过蓝牙转发给B手机”分成三部分: 1)接收到 WIFI 数据,看看是否正确 2)通过 BT 转发 1) 中接收到的数据 3)接收BT转发的数据 增加 LOG 来分析究竟是哪一步出错了。

爵霸 2019-12-02 02:12:40 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 企业建站模板