此為本人在學習資料結構時所寫的,各個功能能夠實現,有demo,node.h,tree.h,tree.cpp四個檔案,使用說明如下:
按照要求,先進行建樹操作
然後按照輸出的介面選擇查詢操作即可
輸入的資料6;5 4 2 1 3 6。
表示建立了一棵二叉鍊錶樹:
54 6
21 3
在查詢時輸入:1,則進行查詢,由於1存在於bst中,在查詢過程中進行了四次比較,故輸出:1 4
demo檔案
#include
#include
#include
"node.h"
#include
"tree.h"
using
namespace std;
intmain()
t=newnode
(aa[0]
);//定義根節點
rt.setroot
(t);
for(
int i=
1;i)break;}
case2:
rt.zhongxu
(t);
cout
case3:
rt.qianxu
(t);
cout
case4:
rt.houxu
(t);
cout
case5:
node* xiao=rt.
min(t)
; node* da=rt.
max(t)
; cout<<
"最大值:"
<>
reit()
<<
" 最小值:"
<>
reit()
case6:
cout<<
"請輸入要查詢的值:存在的話將會返回原值"
>a;
node* z=rt.
find
(t,a);if
(z==
null
)else
break;}
case0:
default:}
goto a;
}
node.**件
#ifndef node_h
#define node_h
#include
#include
using
namespace std;
class
node
intreit()
//返回當前結點值
node*
releft()
//返回左孩子位址
node*
reright()
//返回右孩子位址
void
seti
(int i)
//給it賦值
void
setl
(node* l)
//給左子節點賦值
void
setr
(node* r)
//給右子節點賦值};
#endif
tree.**件
#ifndef tree_h
#define tree_h
#include
"node.h"
#include
using
namespace std;
class
tree
:public node
void
zhongxu
(node* x)
;//中序遍歷
void
qianxu
(node* x)
;//前序遍歷
void
houxu
(node* x)
;//後序遍歷
node*
find
(node* x,
int k)
;//查詢元素
intfindn
(node* x,
int k)
;//查詢次數
node*
min(node* x)
;//最小值
node*
max(node* x)
;//最大值
void
insert
(node* t,node* z)
;//插入
void
delet
(node* t,node* z)
;//刪除 };
#endif
tree.cpp檔案
#include
"tree.h"
#include
#include
int n=0;
using
namespace std;
void tree::
zhongxu
(node* x)
}void tree::
qianxu
(node* x)
}void tree::
houxu
(node* x)
} node* tree::
find
(node* x,
int k)
int tree::
findn
(node* x,
int k)
node* tree::
min(node* x)
return x;
}node* tree::
max(node* x)
return x;
}void tree::
insert
(node* t,node* z)if(
!y) t=z;
//t是一顆空樹
else
if(z-
>
reit()
>
reit()
) y-
>
setl
(z);
else y-
>
setr
(z);
}
資料結構 靜態查詢表
從查詢說起 在英漢字典中查詢某個英文單詞的中文解釋 在新華字典中查詢某個漢字的讀音 含義 在對數表 平方根表中查詢某個數的對數 平方根 郵遞員送信件要按收件人的位址確定位置等等。從計算機 計算機網路中查詢特定的資訊,就需要在計算機中儲存包含該特定資訊的表。查詢是許多程式中最消耗時間的一部分。因而,乙...
資料結構 靜態查詢表
順序表與線性鍊錶都可以表示靜態查詢表。兩者的實現靜態查詢表相似,這裡以順序表為例。順序查詢就是從表中最後乙個記錄開始,逐個進行記錄關鍵字與給定值的比較,若某個記錄的關鍵字和給定值比較相等,則查詢成功,反之失敗。對於順序查詢有一種技巧可以優化效率。查詢之前先將key賦值給elem 0 搜尋從後向前搜尋...
資料結構 靜態查詢表
從查詢說起 在英漢字典中查詢某個英文單詞的中文解釋 在新華字典中查詢某個漢字的讀音 含義 在對數表 平方根表中查詢某個數的對數 平方根 郵遞員送信件要按收件人的位址確定位置等等。從計算機 計算機網路中查詢特定的資訊,就需要在計算機中儲存包含該特定資訊的表。查詢是許多程式中最消耗時間的一部分。因而,乙...