2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  前 言</b></p><p>  一.本課程設(shè)計(jì)意義 </p><p>  課程設(shè)計(jì)是實(shí)踐性教學(xué)中的一個(gè)重要環(huán)節(jié),它以某一課程為基礎(chǔ),可以涉及和課程相關(guān)的各個(gè)方面,是一門獨(dú)立于課程之外的特殊課程。課程設(shè)計(jì)是讓同學(xué)們對(duì)所學(xué)的課程更全面的學(xué)習(xí)和應(yīng)用,理解和掌握課程的相關(guān)知識(shí)。《數(shù)據(jù)結(jié)構(gòu)》是一門重要的專業(yè)基礎(chǔ)課,是計(jì)算機(jī)理論和應(yīng)用的核心基礎(chǔ)課

2、程。</p><p>  數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì),要求學(xué)生在數(shù)據(jù)結(jié)構(gòu)的邏輯特性和物理表示、數(shù)據(jù)結(jié)構(gòu)的選擇和應(yīng)用、算法的設(shè)計(jì)及其實(shí)現(xiàn)等方面,加深對(duì)課程基本內(nèi)容的理解。同時(shí),在程序設(shè)計(jì)方法以及上機(jī)操作等基本技能和科學(xué)作風(fēng)方面受到比較系統(tǒng)和嚴(yán)格的訓(xùn)練。</p><p>  二.本課程設(shè)計(jì)的目的和任務(wù)</p><p>  1.提高對(duì)數(shù)據(jù)邏輯結(jié)構(gòu)的特點(diǎn)以及存儲(chǔ)表示方式的認(rèn)識(shí),培養(yǎng)在

3、具體應(yīng)用中選擇合適的數(shù)據(jù)結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)的能力。</p><p>  2.熟悉軟件開發(fā)的基本過程,初步掌握軟件開發(fā)過程的問題分析、系統(tǒng)設(shè)計(jì)、程序編碼、測試等階段基本任務(wù)和技能方法。</p><p>  3.培養(yǎng)自己的算法設(shè)計(jì)和算法分析能力,提高綜合運(yùn)用所學(xué)的理論知識(shí)和方法獨(dú)立分析和解決問題的能力。</p><p>  4.訓(xùn)練用系統(tǒng)的觀點(diǎn)和軟件開發(fā)一般規(guī)范進(jìn)行軟件開發(fā)

4、,培養(yǎng)軟件工作者所應(yīng)具備的工作方法、作風(fēng)和相互合作的精神。</p><p>  5.綜合運(yùn)用鏈表的查找、插入和刪除,理論結(jié)合實(shí)際,將其運(yùn)用到文章編輯這一實(shí)驗(yàn)中。使這些知識(shí)得到進(jìn)一步鞏固、加深和拓展。利用模塊的思想,模塊之間用指針連接,減少了不必要的麻煩。鞏固加深指針的用途,理解模塊的優(yōu)點(diǎn)。加深對(duì)鏈表的理解,全面認(rèn)識(shí)鏈表操作的字符串的模式匹配操作。</p><p><b>  需

5、求 分 析</b></p><p>  本實(shí)驗(yàn)所要實(shí)現(xiàn)的功能:輸入一頁文字,程序可以統(tǒng)計(jì)出文字、數(shù)字、空格的個(gè)數(shù)。靜態(tài)存儲(chǔ)一頁文章,每行最多不超過80個(gè)字符,共N行;</p><p><b>  要求:</b></p><p> ?。?)分別統(tǒng)計(jì)出其中英文字母數(shù)和空格數(shù)及整篇文章總字?jǐn)?shù);</p><p>  

6、(2)統(tǒng)計(jì)某一字符串在文章中出現(xiàn)的次數(shù),并輸出該次數(shù);</p><p> ?。?)刪除某一子串,并將后面的字符前移。</p><p>  存儲(chǔ)結(jié)構(gòu)使用線性表,分別用幾個(gè)子函數(shù)實(shí)現(xiàn)相應(yīng)的功能;</p><p>  輸入數(shù)據(jù)的形式和范圍:可以輸入大寫、小寫的英文字母、任何數(shù)字及標(biāo)點(diǎn)符號(hào)。</p><p><b>  輸出形式:</

7、b></p><p>  (1)分行輸出用戶輸入的各行字符;</p><p> ?。?)分4行輸出"全部字母數(shù)"、"數(shù)字個(gè)數(shù)"、 "空格個(gè)數(shù)"和"文章總字?jǐn)?shù)"</p><p>  輸出刪除某一字符串后的文章;</p><p>  用鏈表存放數(shù)據(jù)非常靈活,只要

8、內(nèi)存足夠大,對(duì)鏈表可以做任意擴(kuò)充和修改。</p><p>  主要的手段為鏈表的遍歷。定義一個(gè)頭指針head,每個(gè)結(jié)點(diǎn)的數(shù)據(jù)域存放數(shù)據(jù)本身,指針域存放下一個(gè)結(jié)點(diǎn)地址,所以,我們只要知道head,就可以遍歷整個(gè)鏈表,找到我們所需要的字符(串),進(jìn)行相應(yīng)的操作。</p><p><b>  概 要 設(shè) 計(jì)</b></p><p><b>

9、  一.輸入模塊</b></p><p>  存儲(chǔ)結(jié)構(gòu):采用單鏈表結(jié)構(gòu)存儲(chǔ)文章,每個(gè)結(jié)點(diǎn)存儲(chǔ)一行,每行最長不超過80個(gè)字符。</p><p><b>  結(jié)構(gòu)定義:</b></p><p>  typedef struct line{</p><p>  char *data; //字符串指針需要時(shí)

10、動(dòng)態(tài)分配內(nèi)存</p><p>  struct line *next;</p><p><b>  }LINE;</b></p><p>  算法描述:用gets函數(shù)接收輸入,每遇到一個(gè)回車換行就新建一個(gè)結(jié)點(diǎn),將當(dāng)前行存入其data域。當(dāng)發(fā)現(xiàn)輸入為^E時(shí),在Data的最后加上字符串結(jié)束標(biāo)志,并置當(dāng)前結(jié)點(diǎn)的Next指針域?yàn)镹ULL。</p&

11、gt;<p><b>  二.統(tǒng)計(jì)模塊</b></p><p>  統(tǒng)計(jì)模塊包括統(tǒng)計(jì)全部字母數(shù),統(tǒng)計(jì)數(shù)字個(gè)數(shù),統(tǒng)計(jì)空格個(gè)數(shù),以及統(tǒng)計(jì)文章總字?jǐn)?shù),這四個(gè)部分的實(shí)現(xiàn)算法大體相同,四者的關(guān)系是:全部字母數(shù)+數(shù)字個(gè)數(shù)+空格個(gè)數(shù)=文章總字?jǐn)?shù),也就是說可以在統(tǒng)計(jì)出其中三者的前提下計(jì)算出第四個(gè)的數(shù)量。</p><p>  另外一個(gè)重要的統(tǒng)計(jì)功能是統(tǒng)計(jì)某一字符串在整篇文

12、章中出現(xiàn)的次數(shù),這個(gè)需要用到串的模式匹配算法來實(shí)現(xiàn)。</p><p><b>  三.刪除模塊</b></p><p>  刪除模塊的算法思想類同統(tǒng)計(jì)字符串的算法思想,由于采用了鏈表的存儲(chǔ)結(jié)構(gòu),使得刪除算法的時(shí)間復(fù)雜度大大減少。</p><p>  void Del_String(LINE * &head,char *sch){ //刪

13、除指定的字符串</p><p>  LINE *p=head;</p><p><b>  do</b></p><p><b>  {</b></p><p>  while(strstr(p->data,sch)!=NULL)del_string_word(p->data,sch);

14、</p><p>  } while((p=p->next)!=NULL); //遍歷鏈表 </p><p><b>  詳細(xì)設(shè)計(jì)</b></p><p>  文章輸入、瀏覽、統(tǒng)計(jì)串、統(tǒng)計(jì)及刪除的詳細(xì)流程如下圖4-1所示:</p><p><b>  回車

15、回車回車</b></p><p><b>  Ctrl+E</b></p><p><b>  回車</b></p><p><b>  回車</b></p><p><b>  回車</b></p><p><

16、;b>  回車</b></p><p><b>  回車</b></p><p><b>  回車回車</b></p><p><b>  回車</b></p><p>  回車 回車</p>&

17、lt;p><b>  回車</b></p><p><b>  圖4-1</b></p><p>  程序的具體代碼如下:</p><p>  #include <iostream.h></p><p>  #include <string.h></p>

18、<p>  #include <stdio.h></p><p>  #include <stdlib.h></p><p>  #include <windows.h></p><p>  typedef struct line{</p><p>  char *data; //字符串

19、指針需要時(shí)動(dòng)態(tài)分配內(nèi)存</p><p>  struct line *next;</p><p><b>  }LINE;</b></p><p>  void CreateTXT(LINE * &head); //創(chuàng)建一張列表,同時(shí)向里面輸入文本數(shù)據(jù)</p><p>  int Count_Space(LINE

20、 * &head); //統(tǒng)計(jì)空格數(shù)</p><p>  int Count_ZM(LINE * &head); // 統(tǒng)計(jì)字母數(shù)</p><p>  int Count_All_Word(LINE * &head); //統(tǒng)計(jì)文章的總字?jǐn)?shù)</p><p>  int Find_Word(LINE * &head,char *sc

21、h); //統(tǒng)計(jì)sch 在文章中出現(xiàn)的次數(shù)</p><p>  int Count_Num(LINE * &head); //統(tǒng)計(jì)數(shù)字?jǐn)?shù)</p><p>  void Del_String(LINE * &head,char *sch); //刪除指定的字符串</p><p>  void OutPutTxt(LINE * &head); /

22、/向屏幕輸出文章</p><p>  void Tj(LINE * &head); //統(tǒng)計(jì)</p><p>  int read_text(LINE * &head);</p><p>  int free_link(LINE *&head);</p><p>  int free_link(LINE *&h

23、ead)</p><p><b>  {</b></p><p>  LINE *p=head;</p><p><b>  do</b></p><p>  {p->data=NULL;</p><p>  free(p->data);</p>

24、<p><b>  }</b></p><p>  while((p=p->next)!=NULL);</p><p>  head->next=NULL;</p><p><b>  return 0;</b></p><p><b>  }</b>

25、</p><p>  void setcolor(unsigned short color) </p><p><b>  { </b></p><p>  HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE); </p><p>  SetConsoleTextAttribute(

26、hCon,color); </p><p><b>  } </b></p><p>  void CreateTXT(LINE * &head){</p><p>  LINE *p=new LINE; //首先為鏈表 建立一個(gè)附加表頭結(jié)點(diǎn)</p><p>  head=p; //將p付給 表頭指針</

27、p><p>  char tmp[80];</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  gets(tmp); //輸入字符串!使用C的輸入函數(shù)</p><p>  if(tmp[0]==5)break;

28、//如果發(fā)現(xiàn)輸入 ^E,則退出輸入 </p><p>  p->data=new char[strlen(tmp)+1];//為結(jié)點(diǎn)分配空間 </p><p>  strcpy(p->data,tmp);</p><p>  if(tmp[strlen(tmp)-1]==5){ //除去最后一個(gè)控制符 ^E <

29、/p><p>  p->data[strlen(tmp)-1]='\0';</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  p->

30、;next=NULL; //是最后的一個(gè)指針為空。</p><p>  head=head->next;</p><p><b>  }</b></p><p>  int Count_Space(LINE * &head){ //統(tǒng)計(jì)空格數(shù)</p><p>  LINE *p=head;</p&g

31、t;<p>  int asc_space=32; //空格的ASCIC 碼值</p><p>  int count=0;</p><p><b>  do</b></p><p><b>  { </b></p><p>  int Len=strlen(p->

32、data); //計(jì)算當(dāng)前 data 里的數(shù)據(jù)元素的個(gè)數(shù)</p><p>  for(int i=0;i<Len;i++)</p><p>  if(p->data[i]==asc_space)count++; //計(jì)算空格數(shù)</p><p><b>  } </b></p><p&g

33、t;  while((p=p->next)!=NULL); //遍歷鏈表</p><p>  return count;</p><p><b>  }</b></p><p>  int Count_Num(LINE * &head){ //統(tǒng)計(jì)數(shù)字?jǐn)?shù)</p><p>  LINE *p=head;

34、</p><p>  int count=0;</p><p><b>  do</b></p><p><b>  { </b></p><p>  int Len=strlen(p->data); //計(jì)算當(dāng)前 data 里的數(shù)據(jù)元素的個(gè)數(shù)</p&g

35、t;<p>  for(int i=0;i<Len;i++)</p><p>  if(p->data[i]>=48 && p->data[i]<=57)count++; //計(jì)算數(shù)字?jǐn)?shù)</p><p><b>  } </b></p><p>  while((p=p->

36、;next)!=NULL); //遍歷鏈表</p><p>  return count;</p><p><b>  }</b></p><p>  int Count_ZM(LINE * &head){ // 統(tǒng)計(jì)字母數(shù)</p><p>  int count=Count_All_Word(head

37、); //總的字符數(shù),包含空格</p><p>  int space_count=Count_Space(head); //空格數(shù)</p><p>  int num_count=Count_Num(head);//數(shù)字?jǐn)?shù)</p><p>  return count-space_count-num_count; //返回文章的字母總數(shù)</p>&

38、lt;p><b>  }</b></p><p>  int Count_All_Word(LINE * &head){ //統(tǒng)計(jì)文章的總字?jǐn)?shù)</p><p>  LINE *p=head; //保存鏈表的首地址</p><p>  int count=0; //總字母數(shù)</p><p><b&

39、gt;  do</b></p><p>  {count+=strlen(p->data);} //計(jì)算當(dāng)前行內(nèi)的字符數(shù)</p><p>  while((p=p->next)!=NULL); //遍歷鏈表</p><p>  return count;</p><p><b>  }</b

40、></p><p>  int Find_Word(LINE * &head,char *sch){ //統(tǒng)計(jì) sch 在文章中出現(xiàn)的次數(shù)</p><p>  LINE *p=head;</p><p>  int count=0;</p><p>  // int h=0;</p><p>  int

41、len1=0; //保存當(dāng)前行的總字符數(shù)</p><p>  int len2=strlen(sch); //待統(tǒng)計(jì)字符串的長度</p><p>  int i,j,k;</p><p><b>  do</b></p><p><b>  {</b></p><p>  l

42、en1=strlen(p->data);//當(dāng)前行的字符數(shù)</p><p>  for(i=0;i<len1;i++)</p><p><b>  { </b></p><p>  if(p->data[i]==sch[0])</p><p><b>  {</b></

43、p><p><b>  k=0;</b></p><p>  for(j=0;j<=len2-1;j++)</p><p>  if(p->data[i+j]==sch[j])k=k+1;</p><p>  if(k==len2){count++;i=i+k-1;}</p><p>&l

44、t;b>  }</b></p><p><b>  }</b></p><p><b>  } </b></p><p>  while((p=p->next)!=NULL); //遍歷鏈表</p><p>  return count;</p>&

45、lt;p><b>  }</b></p><p>  void del_string_word(char *s,char *sch)</p><p><b>  {</b></p><p>  // *s為輸入的字符串</p><p>  // *sch 為將要?jiǎng)h除的字符</p>

46、<p>  char *p=strstr(s,sch); //查詢結(jié)果</p><p>  char tmp[80];</p><p>  int len=strlen(s);</p><p>  int i=len-strlen(p);</p><p>  int j=i+strlen(sch);</p>&

47、lt;p>  int count=0;</p><p>  for(int k=0;k<i;k++)tmp[count++]=s[k];</p><p>  for(int kk=j;kk<len;kk++)tmp[count++]=s[kk];</p><p>  tmp[count]='\0';</p><p

48、>  strcpy(s,tmp); //返回新的字符串</p><p><b>  }</b></p><p>  void Del_String(LINE * &head,char *sch){ //刪除指定的字符串</p><p>  LINE *p=head;</p><p><b>  d

49、o</b></p><p><b>  {</b></p><p>  while(strstr(p->data,sch)!=NULL)del_string_word(p->data,sch);</p><p>  } while((p=p->next)!=NULL); //遍歷鏈表</p>

50、<p><b>  }</b></p><p>  void OutPutTxt(LINE * &head){ //向屏幕輸出文章</p><p>  LINE *p=head;</p><p><b>  do</b></p><p>  { cout<<p

51、->data<<endl;</p><p>  } while((p=p->next)!=NULL); //遍歷 鏈表</p><p><b>  }</b></p><p>  void Tj(LINE * &head){ //統(tǒng)計(jì)</p><p>  cout<<

52、;"文章統(tǒng)計(jì)信息結(jié)果如下:"<<endl;</p><p>  cout<<"英文字母數(shù):"<<Count_ZM(head)<<endl;</p><p>  cout<<"空格數(shù): "<<Count_Space(head)<<endl;</

53、p><p>  cout<<"文章中共出現(xiàn)數(shù)字:"<<Count_Num(head)<<endl;</p><p>  cout<<"統(tǒng)計(jì)文章的總字?jǐn)?shù): "<<Count_All_Word(head)<<endl;</p><p><b>  }&l

54、t;/b></p><p>  void main()</p><p><b>  {</b></p><p>  setcolor(10);</p><p>  LINE *head;</p><p><b>  int opt;</b></p>&l

55、t;p>  cout<<"\n ***************************************請(qǐng)選擇操作**************************"<<endl;</p><p>  cout<<" 1、新建 ";</p><p>  cout<<"

56、2、瀏覽 ";</p><p>  cout<<"3、統(tǒng)計(jì) ";</p><p>  cout<<"4、串統(tǒng)計(jì) ";</p><p>  cout<<"5、刪除 ";</p><p>  cout&l

57、t;<"6、退出 "<<endl;</p><p><b>  cin>>opt;</b></p><p>  if(opt!=1)</p><p>  {cout<<"第一次請(qǐng)務(wù)必選擇第1項(xiàng),以輸入文本以便操作"<<endl;</p&

58、gt;<p><b>  opt = 0;</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  //int n;int i;ElemTyp

59、e e;</p><p>  while(opt!=6){</p><p><b>  //</b></p><p>  switch (opt) {</p><p><b>  case 0:{</b></p><p>  cout<<"\n ****

60、***********************************請(qǐng)選擇操作**************************"<<endl;</p><p>  cout<<" 1、新建 ";</p><p>  cout<<"2、瀏覽 ";</p><p

61、>  cout<<"3、統(tǒng)計(jì) ";</p><p>  cout<<"4、串統(tǒng)計(jì) ";</p><p>  cout<<"5、刪除 ";</p><p>  cout<<"6、退出 "<&l

62、t;endl;</p><p><b>  cin>>opt;</b></p><p>  if (opt!=1&&opt!=2&&opt!=3&&opt!=4&&opt!=5&&opt!=6)</p><p>  {cout<<"

63、error!不可識(shí)別選項(xiàng)!"<<endl;exit(0);}</p><p><b>  break;}</b></p><p>  case 1:{cout<<"--------新建文本---------------"<<endl;</p><p>  cout<<

64、"請(qǐng)輸入文本,每行最多輸入80字符!(結(jié)束請(qǐng)按 Ctrl + E)"<<endl;</p><p>  setcolor(14);CreateTXT(head);setcolor(10);</p><p>  cout<<endl<<"-------------------------------"<<

65、;endl;</p><p>  cout<<"按回車調(diào)出主菜單……"<<endl;</p><p>  getchar();</p><p>  opt=0;break; }</p><p>  case 2:{cout<<"--------瀏覽輸入文本---------

66、---"<<endl;</p><p>  setcolor(14);OutPutTxt(head);setcolor(10);cout<<endl<<"-------------------------------"<<endl;</p><p>  cout<<"按回車調(diào)出主菜單……&q

67、uot;<<endl;</p><p>  getchar();opt=0;break; }</p><p>  case 3:{cout<<"-----------文本統(tǒng)計(jì)-------------"<<endl;</p><p>  setcolor(14);Tj(head);setcolor(10);

68、</p><p>  cout<<endl<<"-------------------------------"<<endl;</p><p>  cout<<"按回車調(diào)出主菜單……"<<endl;</p><p>  getchar();opt=0;break;

69、 }</p><p>  case 4:{cout<<"----請(qǐng)輸入要統(tǒng)計(jì)的字符串-----"<<endl;</p><p>  setcolor(14); </p><p>  char sch[20];</p><p>  gets(sch);</p><p>  

70、cout<<endl;</p><p>  cout<<sch<<"出現(xiàn)的次數(shù)為:"<<Find_Word(head,sch)<<endl;</p><p>  setcolor(10); </p><p>  cout<<"--------------------

71、-----------"<<endl;</p><p>  cout<<"按回車調(diào)出主菜單……"<<endl;</p><p>  getchar();opt=0;break; }</p><p>  case 5:{cout<<"------字符串刪除---------

72、---"<<endl;</p><p>  setcolor(14);</p><p>  cout<<"請(qǐng)輸入要?jiǎng)h除的某一字符串:"<<endl;</p><p>  char tmp_sch[20];</p><p>  //cin>>tmp_sch;</

73、p><p>  gets(tmp_sch);</p><p>  Del_String(head,tmp_sch); //刪除指定字符</p><p>  cout<<"--------字符串 "<<tmp_sch<<" 被刪除后---------"<<endl;</p>

74、;<p>  OutPutTxt(head); //向屏幕輸出 文章</p><p>  setcolor(10);</p><p>  cout<<endl<<"-------------------------------"<<endl;</p><p>  cout<<&

75、quot;按回車調(diào)出主菜單……"<<endl;</p><p>  getchar();opt=0;break;}</p><p>  case 6:exit(0);</p><p><b>  default:{</b></p><p>  cout<<"請(qǐng)輸入1~6之

76、間的數(shù)字!"<<endl;</p><p>  cout<<"按回車調(diào)出主菜單……"<<endl;</p><p>  getchar();opt = 0;break;}</p><p>  }//end of switch</p><p>  free_link(head)

77、;//釋放鏈表空間</p><p>  }//end of while</p><p>  }//end of else</p><p><b>  }</b></p><p>  調(diào)試過程的系統(tǒng)測試情況及問題</p><p><b>  一.測試情況</b></p&g

78、t;<p>  程序運(yùn)行,首先顯示選擇菜單,如圖示:</p><p>  選擇1,輸入文章,界面運(yùn)行結(jié)果如下:</p><p>  按回車,調(diào)出開始菜單,輸入2,選擇瀏覽,可以原樣顯示出剛才輸入的文本:</p><p>  回車后輸入3,可以看到文章統(tǒng)計(jì)信息結(jié)果:</p><p><b>  根據(jù)頁面提示,回車<

79、/b></p><p>  統(tǒng)計(jì)字符串模塊,輸入要統(tǒng)計(jì)的字符串,可以查找出該字符串在文章中出現(xiàn)過的次數(shù)。運(yùn)行情況如下圖示:</p><p><b>  根據(jù)頁面提示,回車</b></p><p>  刪除模塊,輸入要?jiǎng)h除的字符串,執(zhí)行刪除后可以顯示刪除后的文本。界面如下:</p><p>  根據(jù)頁面提示,回車:&

80、lt;/p><p>  退出頁面,執(zhí)行后的結(jié)果如下:</p><p><b>  二.問題</b></p><p>  1 . 主流程進(jìn)入死循環(huán)。.</p><p>  解決方案:每個(gè)循環(huán)都加break,每跳出一個(gè)模塊,opt重新賦值為0。</p><p>  2.輸入多個(gè)變量,需要空格間隔時(shí),程序只

81、讀空格前的變量</p><p>  解決方案:輸.入函數(shù)用get( )函數(shù),形式為:get(tmp),即可解決著個(gè)問題。</p><p>  3.不識(shí)別自定義函數(shù)。</p><p>  解決方案:函數(shù)定義前要函數(shù)聲明,若不聲明,則調(diào)用函數(shù)必須在函數(shù)定義之后,否則不識(shí)別。</p><p>  4.程序結(jié)束之后,鏈表仍占空間。</p>

82、;<p>  解決方案:在建立鏈表是所申請(qǐng)的內(nèi)存空間在程序結(jié)束之前用free_link(LINE *&head)函數(shù)釋放,即刪除鏈表中的全部結(jié)點(diǎn),且將鏈表頭指針置為空。</p><p><b>  三. 注意事項(xiàng):</b></p><p> ?。?)opt代表選項(xiàng)(共六個(gè),多于六個(gè)顯示“不可識(shí)別選項(xiàng)”)。</p><p>

83、 ?。?)建立文章,用鏈表存儲(chǔ),p=p->next=new LINE,即文章的每一行存儲(chǔ)在一個(gè)結(jié)點(diǎn)中。</p><p> ?。?)Ctrl+E為結(jié)束標(biāo)志。</p><p> ?。?)了解常用ASⅡ碼。</p><p><b>  課程設(shè)計(jì)總結(jié)</b></p><p>  本實(shí)驗(yàn)采用鏈?zhǔn)巾樞虮斫Y(jié)構(gòu)實(shí)現(xiàn)了文章編輯的基本

84、功能,實(shí)驗(yàn)過程中遇到了很多或大或小的問題,在這些問題的解決過程中,加深了對(duì)鏈表的理解,使我對(duì)鏈表操作的字符串的模式匹配有了更深更全面的認(rèn)識(shí)。</p><p>  本實(shí)驗(yàn)提高了我對(duì)數(shù)據(jù)邏輯結(jié)構(gòu)的特點(diǎn)和存儲(chǔ)表示方式的認(rèn)識(shí),培養(yǎng)了我在具體應(yīng)用中選擇合適的數(shù)據(jù)結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)的能力。</p><p>  通過該實(shí)驗(yàn),我熟悉了軟件開發(fā)的基本過程,初步掌握了軟件開發(fā)過程的問題分析、系統(tǒng)設(shè)計(jì)、程序編碼測試

85、等階段的基本任務(wù)和技能方法;使我的算法設(shè)計(jì)和算法分析能力以及運(yùn)用所學(xué)理論知識(shí)和方法獨(dú)立分析問題的能力得到全面的提高;訓(xùn)練了我用系統(tǒng)的觀點(diǎn)和軟件開發(fā)的一般規(guī)范。使我認(rèn)識(shí)到一個(gè)軟件工作者所應(yīng)該具備的科學(xué)的工作方法、作風(fēng)和相互合作精神。</p><p>  本實(shí)驗(yàn)的模塊化比較強(qiáng),各個(gè)模塊之間用指針head連接。認(rèn)清模塊化的概念給程序的順利編制起到了很大的作用。分模塊各個(gè)調(diào)試,可以減少很多不必要的麻煩。</p>

86、;<p><b>  參考文獻(xiàn)</b></p><p>  [1] 嚴(yán)蔚敏、吳偉民主編,《數(shù)據(jù)結(jié)構(gòu)》(C語言版),清華大學(xué)出版社,2002。</p><p>  [2] 殷人昆等著,《數(shù)據(jù)結(jié)構(gòu)》(C++版),清華大學(xué)出版社,2001。</p><p>  [3] 金遠(yuǎn)平著,《數(shù)據(jù)結(jié)構(gòu)》(C++描述),清華大學(xué)出版社,2005。&l

87、t;/p><p>  [4] 許卓群等著,《數(shù)據(jù)結(jié)構(gòu)與算法》,高等教育出版社,2004。</p><p>  [5] Frank M.Carrano等著,《數(shù)據(jù)結(jié)構(gòu)與C++高級(jí)教程》,清華大學(xué)出版社,2004。</p><p>  [6] 嚴(yán)蔚敏、吳偉民著,《數(shù)據(jù)結(jié)構(gòu)習(xí)題集》(C語言版),清華大學(xué)出版社。</p><p><b>  

88、致 謝</b></p><p>  在這次課程設(shè)計(jì)的撰寫過程中,我得到了許多人的幫助。</p><p>  首先我要感謝我的老師在課程設(shè)計(jì)上給予我的指導(dǎo)、提供給我的支持和幫助,這是我能順利完成這次報(bào)告的主要原因,更重要的是老師幫我解決了許多技術(shù)上的難題,讓我能把系統(tǒng)做得更加完善。在此期間,我不僅學(xué)到了許多新的知識(shí),而且也開闊了視野,提高了自己的設(shè)計(jì)能力。</p>

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論