-
大小: 11KB文件類型: .zip金幣: 2下載: 0 次發(fā)布日期: 2021-05-09
- 語言: 其他
- 標(biāo)簽:
資源簡介
二叉樹的實現(xiàn),是學(xué)習(xí)燈俊輝版數(shù)據(jù)結(jié)構(gòu)與算法課程時的練習(xí)代碼

代碼片段和文件信息
/******************************************************************************************
?*?Data?Structures?in?C++
?*?ISBN:?7-302-33064-6?&?7-302-33065-3?&?7-302-29652-2?&?7-302-26883-3
?*?Junhui?DENG?deng@tsinghua.edu.cn
?*?Computer?Science?&?Technology?Tsinghua?University
?*?Copyright?(c)?2006-2013.?All?rights?reserved.
?******************************************************************************************/
/******************************************************************************************
*?Test?of?B-Tree
******************************************************************************************/
#include?“BTree_test.h“
/******************************************************************************************
*?Test?a?BTree
******************************************************************************************/
template??void??testBTree?(?int?order?int?n?)?{
???BTree?bt?(?order?);
???while?(?bt.size()???????T?e?=?dice?(?(?T?)?n?*?3?);?//[0?3n)范圍內(nèi)的e
??????switch?(?dice?(?3?)?)?{
?????????case?0:?{?//查找,成功率?<=?33.3%
????????????printf?(?“Searching?for?“?);?print?(?e?);?printf?(?“?...?“?);
????????????BTNodePosi(T)?p?=?bt.search?(?e?);
????????????printf?(?p???“Found\n“?:?“Not?found\n“?);
????????????break;
?????????}
?????????case?1:?{?//刪除,成功率?<=?33.3%
????????????printf?(?“Removing?“?);?print?(?e?);?printf?(?“?...?“?);
????????????bt.remove?(?e?)??
????????????printf?(?“Done\n“?)?print?(?bt?)?:
????????????printf?(?“Not?exists\n“?);
????????????break;
?????????}
?????????default:?{//插入,成功率?==?100%
????????????printf?(?“Inserting?“?);?print?(?e?);?printf?(?“?...?“?);
????????????int?oldSize?=?bt.size();
????????????bt.insert?(?e?)??
????????????printf?(?“Done\n“?)?print?(?bt?)?:
????????????printf?(?“Dup?key\n“?);
????????????break;
?????????}
??????}
???}
???while?(?bt.size()?>?0?)?{
??????T?e?=?dice?(?(?T?)?n?*?3?);?//[0?3n)范圍內(nèi)的e
??????printf?(?“Removing?“?);?print?(?e?);?printf?(?“?...?“?);
??????bt.remove?(?e?)??
??????printf?(?“Done\n“?)?print?(?bt?)?:
??????printf?(?“not?exists\n“?);
???}
}
/******************************************************************************************
*?測試主入口
******************************************************************************************/
int?main?(?int?argc?char*?argv[]?)?{
???if?(?3?>?argc?)?{?printf?(?“Usage:?%s??\a\a\n“?argv[0]?);?return?1;?}
???int?order?=?atoi?(?argv[1]?);?if?(?order?3?)??{?printf?(?“Make?sure?the?order?(%d)?is?no?less?than?3.\a\a\n“?order?);?return?1;?}
???int?size?=?atoi?(?argv[2]?);?if?(?size?0?)??{?printf?(?“Make?sure?the?size?(%d)?is?no?less?than?0.\a\a\n“?size?);?return?1;?}
???srand?(?(?unsigned?int?)?time?(?NULL?)?);
???testBTree?(?atoi?(?argv[1]?)?atoi?(?argv[2]?)?);?//元素類型、比較器可以在這里任意選擇
???return?0;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????1229??2015-01-01?01:01??btnode.h
?????文件????????1476??2015-01-01?01:01??btree.h
?????文件????????4543??2015-01-01?01:01??btree.vcproj
?????文件????????1494??2015-01-01?01:01??BTree.vcproj.user
?????文件?????????991??2015-01-01?01:01??btree_implementation.h
?????文件?????????927??2015-01-01?01:01??btree_insert.h
?????文件????????1176??2015-01-01?01:01??btree_remove.h
?????文件?????????997??2015-01-01?01:01??btree_search.h
?????文件????????1692??2015-01-01?01:01??btree_solveoverflow.h
?????文件????????4569??2015-01-01?01:01??btree_solveunderflow.h
?????文件?????????574??2015-01-01?01:01??btree_test.h
?????文件????????2937??2015-01-01?01:01??main.cpp
評論
共有 條評論