課程實驗,多有不足
#include #include #define true 1
#define false 0
#define endkey 0
typedef int keytype;
typedef struct node
bstnode, *bstree;
int insertbst(bstree *bst, keytype key)
/*若在二叉排序樹中不存在關鍵字等於key的元素,插入該元素*/
else if(key<(*bst)->key)
insertbst(&((*bst)->lchild),key);
else if(key>(*bst)->key)
insertbst(&((*bst)->rchild),key);
else return 0;
//請完成本函式的功能
}void createbst(bstree *bst)
/*從鍵盤輸入元素的值,建立相應的二叉排序樹*/
//請完成本函式的功能
}void inorder(bstree bst)
/*中序遍歷二叉樹, root為指向二叉樹(或某一子樹)根結點的指標*/
}bstree searchbst(bstree bst, keytype key)
/*在根指標bst所指二叉排序樹中,遞迴查詢某關鍵字等於key的元素,若查詢成功,返回指向該元素結點指標,否則返回空指標*/
int delbst(bstree t, keytype k) /*在二叉排序樹t中刪去關鍵字為k的結點*/
if(p==null) return 0; /*若找不到,返回原來的二叉排序樹*/
if(p->lchild==null) /*p無左子樹*/
else /*p有左子樹*/
if(q==p)
q->lchild=s->lchild ; /*將s的左子樹鏈到q上*/
else
q->rchild=s->lchild;
p->key=s->key; /*將s的值賦給p*/
free(s);
}return 1;
} /*delbst*/
void main()
break;
case 』3』:
printf("輸入待查詢的資料值:\n");
scanf("%d",&keyword); //輸入要查詢元素的關鍵字
p=searchbst(t, keyword);
if(!p) printf("%d 沒有找到。\n",keyword); //沒有找到
else printf("%d 查詢成功。\n",keyword); //成功找到
break;
case 』4』:
printf("輸入待插入的資料:");
scanf("%d",&keyword); //輸入要插入元素的關鍵字
temp=insertbst(&t, keyword);
if(temp==false)
printf("%d 已在二叉樹中!\n",keyword); //該元素已經存在
else
printf("%d 插入成功!\n",keyword);
break;
case 』5』:
printf("輸入待刪除的資料:");
scanf("%d",&keyword); //輸入要刪除元素的關鍵字
temp=delbst(t, keyword);
if(temp==false) printf("%d 不存在!\n",keyword); //該元素不存在
else printf("成功刪除%d\n",keyword); //成功刪除
break;
default:
j=』n』;
}}printf("程式結束!\npress any key to shut off the window!\n");
getchar();
getchar();
}
資料結構 建立二叉樹
include include define max 100 using namespace std typedef struct bnode bnode,btree btree q max btree creatree 層次輸入 rear q rear s if rear 1 root s els...
資料結構 排序二叉樹
排序二叉樹即在構建二叉樹的時候就對二叉樹進行排序了,當中序遍歷二叉樹的時候即可得到乙個有序的數列 排序二叉樹的規則就是 若他的左子樹不空,則左子樹上所有結點的值均小於它的根結構的值 若他的右子樹不空,則右子樹上所有結點的值均大於它的根結點的值 它的左 右子樹也分別為二叉排序樹 從二叉排序樹的定義也可...
資料結構(二叉樹) 二叉樹的建立 儲存 遍歷
建立二叉樹,並通過呼叫函式,輸出先序遍歷 中序遍歷與後序遍歷的結果 include include define true 1 define false 0 define ok 1 define error 0 datatype 是二叉樹資料元素型別,此程式定義為char型 typedef char...