課程設(shè)計(jì)--- 二叉排序樹的實(shí)現(xiàn)_第1頁
已閱讀1頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p>  課程設(shè)計(jì)(論文)任務(wù)書</p><p>  軟件  學(xué)院 軟件+道路與鐵道  專業(yè) 2  班    </p><p>  一、課程設(shè)計(jì)(論文)題目   二叉排序樹的實(shí)現(xiàn)    </p><p>  二、課程設(shè)計(jì)(論文)工作自 2012

2、 年 12 月 17日起至2012年 12 月 23日止。</p><p>  三、課程設(shè)計(jì)(論文) 地點(diǎn): 15#520 </p><p>  四、課程設(shè)計(jì)(論文)內(nèi)容要求:</p><p>  1.本課程設(shè)計(jì)的目的</p><p>  (1) (1)要求學(xué)生達(dá)到

3、熟練掌握C 語言的基本知識和技能;</p><p>  (2) 基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法;</p><p>  (3) 能夠利用所學(xué)的基本知識和技能,解決簡單的程序設(shè)計(jì)問題。 </p><p>  2.課程設(shè)計(jì)的任務(wù)及要求</p><p><b>  1)基本要求:</b></p><

4、p> ?。?)(1)要求利用TC 的編程思想來完成系統(tǒng)的設(shè)計(jì);</p><p>  (2)要求在設(shè)計(jì)的過程中,建立清晰的結(jié)構(gòu)體層次;</p><p> ?。?)在系統(tǒng)的設(shè)計(jì)中,至少要做到基本管理要求。</p><p>  (4)學(xué)生必須仔細(xì)閱讀《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)方案,認(rèn)真主動完成課設(shè)的要求。有問題及時主動通過各種方式與教師聯(lián)系溝通。</p>&

5、lt;p><b>  2)創(chuàng)新要求: </b></p><p>  在基本要求達(dá)到后,可進(jìn)行創(chuàng)新設(shè)計(jì),如改善算法性能、友好的人機(jī)界面</p><p><b>  等。</b></p><p>  3)課程設(shè)計(jì)論文編寫要求</p><p> ?。?)要按照書稿的規(guī)格打印與寫課程設(shè)計(jì)論文</

6、p><p> ?。?)論文包括目錄、功能描述、設(shè)計(jì)思路、具體實(shí)現(xiàn)、運(yùn)行調(diào)試與分析討</p><p>  論、設(shè)計(jì)體會與小結(jié)、參考文獻(xiàn)、附錄(源代碼)等 </p><p> ?。?)課程設(shè)計(jì)論文裝訂按學(xué)校的統(tǒng)一要求完成</p><p>  4)答辯與評分標(biāo)準(zhǔn): </p><p> ?。?)考勤與學(xué)習(xí)態(tài)度:20分; </

7、p><p> ?。?)設(shè)計(jì)思路:20分;</p><p> ?。?)代碼實(shí)現(xiàn):20分;</p><p>  (4)調(diào)試與分析:20分;</p><p> ?。?)回答問題:10分;</p><p> ?。?)論文規(guī)范性:10分。</p><p><b>  5)參考文獻(xiàn)</b>

8、</p><p>  [1]嚴(yán)蔚敏,吳偉民,《數(shù)據(jù)結(jié)構(gòu)》北京 清華大學(xué)出版社</p><p>  [2]譚浩強(qiáng),《C++程序設(shè)計(jì)》 北京清華大學(xué)出版社</p><p>  [3]譚鋒,章偉聰,《Visual c++程序設(shè)計(jì)實(shí)訓(xùn)教程》北京 科學(xué)出版社</p><p>  6)課程設(shè)計(jì)進(jìn)度安排</p><p>  1.準(zhǔn)備

9、階段(2學(xué)時):選擇設(shè)計(jì)題目、了解設(shè)計(jì)目的要求、查閱相關(guān)資料</p><p>  2.程序模塊設(shè)計(jì)分析階段(2學(xué)時):程序總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)</p><p>  3.代碼編寫調(diào)試階段(6學(xué)時):程序模塊代碼編寫、調(diào)試、測試</p><p>  4.撰寫課程設(shè)計(jì)論文階段(2學(xué)時):總結(jié)課程設(shè)計(jì)任務(wù)和設(shè)計(jì)內(nèi)容,撰</p><p><b>

10、;  寫課程設(shè)計(jì)論文</b></p><p>  課程設(shè)計(jì)(論文)評審意見</p><p> ?。?)考勤與態(tài)度 (20分):優(yōu)(?。?、良(?。?、中(?。⒁话悖ā。?、差(?。?</p><p> ?。?)設(shè)計(jì)思路 ?。?0分):優(yōu)(?。?、良(?。?、中( )、一般( )、差(?。?; </p><p> ?。?)代碼實(shí)現(xiàn)  (2

11、0分):優(yōu)( )、良(?。?、中(?。⒁话悖ā。?、差(?。?;</p><p> ?。?)調(diào)試與分析 (20分):優(yōu)(?。?、良(?。?、中(?。?、一般(?。⒉睿ā。?lt;/p><p> ?。?)回答問題  (10分):優(yōu)(?。?、良(?。⒅校ā。⒁话悖ā。?、差( );</p><p>  (6)論文規(guī)范性 (10分):優(yōu)(?。?、良( )、中( )、一般(?。?、差(

12、?。?;</p><p>  評閱人:     職稱: 講師 </p><p>  2012 年12月26日 </p><p><b>  目錄</b></p><p><b>  緒論- 1 -</b></p><p>  一、功能

13、描述- 2 -</p><p>  二、設(shè)計(jì)思路- 2 -</p><p>  三、具體實(shí)現(xiàn)- 6 -</p><p>  四、運(yùn)行調(diào)試及結(jié)果分析- 14 -</p><p>  五、設(shè)計(jì)體會與小結(jié)- 16 -</p><p>  六、參考文獻(xiàn)17</p><p>  七、

14、附錄(核心代碼)17</p><p><b>  緒論</b></p><p>  數(shù)據(jù)結(jié)構(gòu)是一門理論性強(qiáng)、思維抽象、難度較大的課程,是基礎(chǔ)課和專業(yè)課之間的橋梁。該課程的先行課程是計(jì)算機(jī)基礎(chǔ)、程序設(shè)計(jì)語言、離散數(shù)學(xué)等,后續(xù)課程有操作系統(tǒng)、編譯原理、數(shù)據(jù)庫原理、軟件工程等。 通過本門課程的學(xué)習(xí),我們應(yīng)該能透徹地理解各種數(shù)據(jù)對象的特點(diǎn),學(xué)會數(shù)據(jù)的組織方法和實(shí)現(xiàn)方法,并

15、進(jìn)一步培養(yǎng)良好的程序設(shè)計(jì)能力和解決實(shí)際問題的能力。 </p><p>  數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的一門核心專業(yè)基礎(chǔ)課程,在該專業(yè)的課程體系中起著承上啟下的作用,學(xué)好數(shù)據(jù)結(jié)構(gòu)對于提高理論認(rèn)知水平和實(shí)踐能力有著極為重要的作用。學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的最終目的是為了獲得求解問題的能力。對于現(xiàn)實(shí)世界中的問題,應(yīng)該能從中抽象出一個適當(dāng)?shù)臄?shù)學(xué)模型,該數(shù)學(xué)模型在計(jì)算機(jī)內(nèi)部用相應(yīng)的數(shù)據(jù)結(jié)構(gòu)來表示,然后設(shè)計(jì)一個解此數(shù)學(xué)模型的算法,再

16、進(jìn)行編程調(diào)試,最后獲得問題的解答。</p><p>  實(shí)習(xí)課程是為了加強(qiáng)編程能力的培養(yǎng),鼓勵學(xué)生使用新興的編程語言。相信通過數(shù)據(jù)結(jié)構(gòu)課程實(shí)踐,無論是理論知識,還是實(shí)踐動手能力,我們都會有不同程度上的提高。</p><p><b>  功能描述</b></p><p>  1) 以回車('\n')為輸入結(jié)束標(biāo)志,輸入數(shù)

17、列L,生成一棵二叉排      序樹T; 2) 對二叉排序樹T作中序遍歷,輸出結(jié)果; 3) 輸入元素x,查找二叉排序樹T,若存在含x的結(jié)點(diǎn),則刪除該結(jié)點(diǎn),并作中序遍歷(執(zhí)行操 作2);否則輸出信息“無x”;</p><p><b>  設(shè)計(jì)思路</b></p><p><b&g

18、t;  算法設(shè)計(jì)思想</b></p><p>  二插鏈表作存儲結(jié)構(gòu): 建立二插排序樹采用邊查找邊插入的方式。查找函數(shù)采用遞歸的方式進(jìn)行查找。如果查找成功則不應(yīng)再插入原樹,否則返回當(dāng)前結(jié)點(diǎn)的上一個結(jié)點(diǎn)。然后利用插入函數(shù)將該元素插入原樹。</p><p>  對二叉樹進(jìn)行中序遍歷采用遞歸函數(shù)的方式。在根結(jié)點(diǎn)不為空的情況下,先訪問左子樹,再訪問根結(jié)點(diǎn),最后訪問右子樹。</p

19、><p>  刪除結(jié)點(diǎn)函數(shù),采用邊查找邊刪除的方式。如果沒有查找到,則不對樹做任何的修改;如果查找到結(jié)點(diǎn),則分四種情況分別進(jìn)行討論:1、該結(jié)點(diǎn)左右子樹均為空;2、該結(jié)點(diǎn)僅左子樹為空;3、該結(jié)點(diǎn)僅右子樹為空;4、該結(jié)點(diǎn)左右子樹均不為空。</p><p>  在進(jìn)行算法設(shè)計(jì)時,應(yīng)將題目分為五個函數(shù)模塊:</p><p>  1、中序遍歷,符合升序輸出</p>

20、<p>  void inorder(node *&root) </p><p><b>  {</b></p><p>  if(root!=NULL)</p><p><b>  {</b></p><p>  inorder(root->left);</

21、p><p>  cout<<root->data<<' ';</p><p>  inorder(root->right);</p><p><b>  }</b></p><p><b>  }</b></p><p>  2

22、、在查找樹中插入元素</p><p>  void insert(node *&ptr,int item) </p><p><b>  {</b></p><p>  if(ptr==NULL)</p><p>  ptr=new node(item);</p><p>  else

23、 if(item<ptr->data)</p><p>  insert(ptr->left,item);</p><p>  else insert(ptr->right,item);</p><p><b>  }</b></p><p>  3、在查找樹中查找元素 </p>&

24、lt;p>  node *find(node *&ptr,int item) </p><p><b>  {</b></p><p>  if(ptr==NULL)</p><p>  return NULL;</p><p>  if(ptr->data==item)</p>&

25、lt;p>  return ptr;</p><p>  else if(item<ptr->data)</p><p>  find(ptr->left,item);</p><p>  else find(ptr->right,item);</p><p><b>  }</b><

26、/p><p>  4、在查找樹中查找肯定存在的元素,并返回其引用</p><p>  node *&findy(node *&ptr,int item) </p><p><b>  {</b></p><p>  if(ptr->data==item)</p><p>  r

27、eturn ptr;</p><p>  else if(item<ptr->data)</p><p>  findy(ptr->left,item);</p><p>  else findy(ptr->right,item);</p><p><b>  }</b></p>&

28、lt;p>  node* rl()</p><p><b>  {</b></p><p>  return left;</p><p><b>  }</b></p><p>  node* rr()</p><p><b>  {</b><

29、;/p><p>  return right;</p><p><b>  }</b></p><p>  5、刪除指定值為所在結(jié)點(diǎn)</p><p>  void dele(node *&ptr) </p><p><b>  {</b></p>

30、<p>  if(ptr->rl()==NULL&&ptr->rr()==NULL)</p><p><b>  ptr=NULL;</b></p><p>  else if(ptr->rr()==NULL)</p><p>  ptr=ptr->rl();</p><p

31、><b>  else</b></p><p>  ptr=ptr->rr();</p><p><b>  }</b></p><p><b>  private:</b></p><p><b>  int data;</b></p&

32、gt;<p>  node *left; </p><p>  node *right; </p><p><b>  };</b></p><p><b>  具體實(shí)現(xiàn)</b></p><p><b>  1.調(diào)入文件&

33、lt;/b></p><p>  #include <iostream></p><p><b>  2.主函數(shù)</b></p><p>  int main()</p><p><b>  {</b></p><p>  int t,i=0,j;</

34、p><p>  cout<<" 謝岳松-218-二叉排序樹的實(shí)現(xiàn) "<<endl;</p><p>  cout<<"1.二叉排序樹T的輸入:"<<endl;</p><p>  cout<<"輸入數(shù)字個數(shù)(結(jié)點(diǎn)個數(shù)):";</p>

35、<p><b>  cin>>t;</b></p><p>  cout<<"輸入"<<t<<"個數(shù)字,數(shù)字之間用空格隔開:";</p><p><b>  cin>>j;</b></p><p>  node

36、*x=new node(j);</p><p>  for(;i<t-1;i++)</p><p><b>  {</b></p><p><b>  cin>>j;</b></p><p>  x->insert(x,j);</p><p><

37、b>  }</b></p><p>  cout<<"中序遍歷為:";</p><p>  x->inorder(x); //作中序遍歷</p><p>  cout<<"\n";</p><p>  cout<<&

38、quot;2.二叉排序樹T的元素查找和刪除:"<<endl;</p><p>  cout<<"\n輸入操作(當(dāng)輸入-1時程序結(jié)束):"<<endl;</p><p><b>  cin>>j;</b></p><p>  while(j!=-1)</p>

39、<p><b>  {</b></p><p>  node *t=x->find(x,j); //定位結(jié)點(diǎn)</p><p>  if(t!=NULL)</p><p><b>  {</b></p><p>  node *&y=x->findy

40、(x,j);</p><p>  x->dele(y);</p><p>  cout<<"中序遍歷為:";</p><p>  x->inorder(x);</p><p><b>  }</b></p><p>  else cout<<

41、"無"<<j;</p><p>  cout<<"\n輸入操作(當(dāng)輸入-1時程序結(jié)束):"<<endl;</p><p><b>  cin>>j;</b></p><p><b>  }</b></p><p>

42、;<b>  return 0;</b></p><p><b>  }</b></p><p><b>  3.程序編碼</b></p><p>  #include <iostream></p><p>  using namespace std;</p&

43、gt;<p>  class node</p><p><b>  {</b></p><p><b>  public:</b></p><p>  node(int i):data(i), lchild (NULL), rchild (NULL){}</p><p>  void

44、inorder(node *&root) //中序遍歷,符合升序輸出</p><p><b>  {</b></p><p>  if(root!=NULL)</p><p><b>  {</b></p><p>  inorder(root-> lchild);</

45、p><p>  cout<<root->data<<' ';</p><p>  inorder(root-> rchild);</p><p><b>  }</b></p><p><b>  }</b></p><p> 

46、 void insert(node *&ptr,int item) //在查找樹中插入元素</p><p><b>  {</b></p><p>  if(ptr==NULL)</p><p>  ptr=new node(item);</p><p>  else if(item<ptr->da

47、ta)</p><p>  insert(ptr-> lchild,item);</p><p>  else insert(ptr-> rchild,item);</p><p><b>  }</b></p><p>  node *find(node *&ptr,int item) //在查找

48、樹中查找元素,找到返回所在結(jié)點(diǎn)指針,找不到返回空指針。</p><p><b>  {</b></p><p>  if(ptr==NULL)</p><p>  return NULL;</p><p>  if(ptr->data==item)</p><p>  return ptr;

49、</p><p>  else if(item<ptr->data)</p><p>  find(ptr-> lchild,item);</p><p>  else find(ptr-> rchild,item);</p><p><b>  }</b></p><p>

50、;  node *&findy(node *&ptr,int item) //在查找樹中查找肯定存在的元素,并返回其引用</p><p><b>  {</b></p><p>  if(ptr->data==item)</p><p>  return ptr;</p><p>  else i

51、f(item<ptr->data)</p><p>  findy(ptr-> lchild,item);</p><p>  else findy(ptr-> rchild,item);</p><p><b>  }</b></p><p>  node* rl(){return lchild

52、;}</p><p>  node* rr(){return rchild;}</p><p>  void dele(node *&ptr) //刪除值為item所在結(jié)點(diǎn)</p><p><b>  {</b></p><p>  if(ptr->rl()==NULL&&ptr

53、->rr()==NULL)</p><p><b>  ptr=NULL;</b></p><p>  else if(ptr->rr()==NULL)</p><p>  ptr=ptr->rl();</p><p><b>  else</b></p><p

54、>  ptr=ptr->rr();</p><p><b>  }</b></p><p><b>  private:</b></p><p><b>  int data;</b></p><p>  node * lchild; /

55、/左孩子結(jié)點(diǎn)</p><p>  node * rchild; //右孩子結(jié)點(diǎn)</p><p><b>  };</b></p><p>  int main()</p><p><b>  {</b></p><p>  int t,i=0,j;&

56、lt;/p><p>  cout<<" 謝岳松-218-二叉排序樹的實(shí)現(xiàn) "<<endl;</p><p>  cout<<"1.二叉排序樹T的輸入:"<<endl;</p><p>  cout<<"輸入數(shù)字個數(shù)(結(jié)點(diǎn)個數(shù)):";<

57、;/p><p><b>  cin>>t;</b></p><p>  cout<<"輸入"<<t<<"個數(shù)字,數(shù)字之間用空格隔開:";</p><p><b>  cin>>j;</b></p><p>

58、;  node *x=new node(j);</p><p>  for(;i<t-1;i++)</p><p><b>  {</b></p><p><b>  cin>>j;</b></p><p>  x->insert(x,j);</p><p

59、><b>  }</b></p><p>  cout<<"中序遍歷為:";</p><p>  x->inorder(x); //作中序遍歷</p><p>  cout<<"\n";</p><p>  cout&

60、lt;<"2.二叉排序樹T的元素查找和刪除:"<<endl;</p><p>  cout<<"\n輸入操作(當(dāng)輸入-1時程序結(jié)束):"<<endl;</p><p><b>  cin>>j;</b></p><p>  while(j!=-1)&l

61、t;/p><p><b>  {</b></p><p>  node *t=x->find(x,j); //定位結(jié)點(diǎn)</p><p>  if(t!=NULL)</p><p><b>  {</b></p><p>  node *&y=x-&

62、gt;findy(x,j);</p><p>  x->dele(y);</p><p>  cout<<"中序遍歷為:";</p><p>  x->inorder(x);</p><p><b>  }</b></p><p>  else cout

63、<<"無"<<j;</p><p>  cout<<"\n輸入操作(當(dāng)輸入-1時程序結(jié)束):"<<endl;</p><p><b>  cin>>j;</b></p><p><b>  }</b></p>

64、<p><b>  return 0;</b></p><p><b>  }</b></p><p><b>  運(yùn)行調(diào)試及結(jié)果分析</b></p><p><b>  輸入節(jié)點(diǎn)數(shù)</b></p><p>  輸入二叉樹數(shù),并輸出中序遍歷<

65、;/p><p>  當(dāng)輸入25時,二叉樹中無該數(shù)據(jù),輸出無25</p><p><b>  輸入-1表示退出</b></p><p><b>  設(shè)計(jì)體會與小結(jié)</b></p><p>  基于我對編程的極大興趣,我對這次的課程設(shè)計(jì)非常重視。通過這次實(shí)驗(yàn)我也著實(shí)又感受了一次編程的樂趣,從中也學(xué)到了不少知

66、識。在這段時間里,我遇到過的問題主要就是C語言和C++語言有些混淆,一些用法記不太清楚。在石紅芹老師的指導(dǎo)幫助下,同學(xué)們課余時間的討論中,這些問題都一一得到了解決。在程序的調(diào)試能力上,無形中得到了許多的提高。這樣無形中就提高了自己編寫的程序的質(zhì)量。在實(shí)際的上機(jī)操作過程中,不僅是讓我們了解數(shù)據(jù)結(jié)構(gòu)的理論知識,更重要的是培養(yǎng)解決實(shí)際問題的能力,所以相信通過此次實(shí)習(xí)可以提高我們分析設(shè)計(jì)能力和編程能力,為后續(xù)課程的學(xué)習(xí)及實(shí)踐打下良好的基礎(chǔ)<

67、;/p><p><b>  參考文獻(xiàn)</b></p><p>  [1]嚴(yán)蔚敏,吳偉民,《數(shù)據(jù)結(jié)構(gòu)》北京 清華大學(xué)出版社</p><p>  [2]譚浩強(qiáng),《C++程序設(shè)計(jì)》 北京清華大學(xué)出版社</p><p>  [3]譚鋒,章偉聰,《Visual c++程序設(shè)計(jì)實(shí)訓(xùn)教程》北京 科學(xué)出版社</p><p

68、><b>  附錄(核心代碼)</b></p><p>  #include <iostream></p><p>  using namespace std;</p><p>  class node</p><p><b>  {</b></p><p>

69、;<b>  public:</b></p><p>  node(int i):data(i), lchild (NULL), rchild (NULL){}</p><p>  void inorder(node *&root) //中序遍歷,符合升序輸出</p><p><b>  {</b><

70、;/p><p>  if(root!=NULL)</p><p><b>  {</b></p><p>  inorder(root-> lchild);</p><p>  cout<<root->data<<' ';</p><p>  ino

71、rder(root-> rchild);</p><p><b>  }</b></p><p><b>  }</b></p><p>  void insert(node *&ptr,int item) //在查找樹中插入元素</p><p><b>  {</b

72、></p><p>  if(ptr==NULL)</p><p>  ptr=new node(item);</p><p>  else if(item<ptr->data)</p><p>  insert(ptr-> lchild,item);</p><p>  else insert

73、(ptr-> rchild,item);</p><p><b>  }</b></p><p>  node *find(node *&ptr,int item) //在查找樹中查找元素,找到返回所在結(jié)點(diǎn)指針,找不到返回空指針。</p><p><b>  {</b></p><p&g

74、t;  if(ptr==NULL)</p><p>  return NULL;</p><p>  if(ptr->data==item)</p><p>  return ptr;</p><p>  else if(item<ptr->data)</p><p>  find(ptr->

75、lchild,item);</p><p>  else find(ptr-> rchild,item);</p><p><b>  }</b></p><p>  node *&findy(node *&ptr,int item) //在查找樹中查找肯定存在的元素,并返回其引用</p><p>

76、;<b>  {</b></p><p>  if(ptr->data==item)</p><p>  return ptr;</p><p>  else if(item<ptr->data)</p><p>  findy(ptr-> lchild,item);</p><

77、;p>  else findy(ptr-> rchild,item);</p><p><b>  }</b></p><p>  node* rl(){return lchild;}</p><p>  node* rr(){return rchild;}</p><p>  void dele(node

78、*&ptr) //刪除值為item所在結(jié)點(diǎn)</p><p><b>  {</b></p><p>  if(ptr->rl()==NULL&&ptr->rr()==NULL)</p><p><b>  ptr=NULL;</b></p><p> 

79、 else if(ptr->rr()==NULL)</p><p>  ptr=ptr->rl();</p><p><b>  else</b></p><p>  ptr=ptr->rr();</p><p><b>  }</b></p><p>&l

80、t;b>  private:</b></p><p><b>  int data;</b></p><p>  node * lchild; //左孩子結(jié)點(diǎn)</p><p>  node * rchild; //右孩子結(jié)點(diǎn)</p><p><

81、b>  };</b></p><p>  int main()</p><p><b>  {</b></p><p>  int t,i=0,j;</p><p>  cout<<" 謝岳松-218-二叉排序樹的實(shí)現(xiàn) "<<endl;</

82、p><p>  cout<<"1.二叉排序樹T的輸入:"<<endl;</p><p>  cout<<"輸入數(shù)字個數(shù)(結(jié)點(diǎn)個數(shù)):";</p><p><b>  cin>>t;</b></p><p>  cout<<&q

83、uot;輸入"<<t<<"個數(shù)字,數(shù)字之間用空格隔開:";</p><p><b>  cin>>j;</b></p><p>  node *x=new node(j);</p><p>  for(;i<t-1;i++)</p><p><

84、b>  {</b></p><p><b>  cin>>j;</b></p><p>  x->insert(x,j);</p><p><b>  }</b></p><p>  cout<<"中序遍歷為:";</p>

85、;<p>  x->inorder(x); //作中序遍歷</p><p>  cout<<"\n";</p><p>  cout<<"2.二叉排序樹T的元素查找和刪除:"<<endl;</p><p>  cout<<"

86、;\n輸入操作(當(dāng)輸入-1時程序結(jié)束):"<<endl;</p><p><b>  cin>>j;</b></p><p>  while(j!=-1)</p><p><b>  {</b></p><p>  node *t=x->find(x,j);

87、 //定位結(jié)點(diǎn)</p><p>  if(t!=NULL)</p><p><b>  {</b></p><p>  node *&y=x->findy(x,j);</p><p>  x->dele(y);</p><p>  cout<<&qu

88、ot;中序遍歷為:";</p><p>  x->inorder(x);</p><p><b>  }</b></p><p>  else cout<<"無"<<j;</p><p>  cout<<"\n輸入操作(當(dāng)輸入-1時程序結(jié)束

89、):"<<endl;</p><p><b>  cin>>j;</b></p><p><b>  }</b></p><p><b>  return 0;</b></p><p><b>  }</b></p&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論