版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 課程設(shè)計(jì)(論文)任務(wù)書</p><p> 信息 學(xué) 院 計(jì)算機(jī) 專 業(yè) 2014-- 1 班 </p><p> 一、課程設(shè)計(jì)(論文)題目 基礎(chǔ)軟件設(shè)計(jì) </p><p> 二、課程設(shè)計(jì)(論文)工作自 2015 年12月28 日起至 2016年 1月 8 日止。&
2、lt;/p><p> 三、課程設(shè)計(jì)(論文) 地點(diǎn): 5-205 </p><p> 四、課程設(shè)計(jì)(論文)內(nèi)容要求:</p><p> 1.本課程設(shè)計(jì)的目的</p><p> 1、 使學(xué)生進(jìn)一步理解和掌握課堂上所學(xué)各種基本抽象數(shù)據(jù)類型的邏輯
3、結(jié)</p><p> 構(gòu)、存儲(chǔ)結(jié)構(gòu)和操作實(shí)現(xiàn)算法,以及它們?cè)诔绦蛑械氖褂梅椒ā?lt;/p><p> 2、了解并掌握數(shù)據(jù)結(jié)構(gòu)與算法的設(shè)計(jì)方法,具備初步的獨(dú)立分析和設(shè)計(jì)</p><p> 能力;使學(xué)生掌握使用各種計(jì)算機(jī)資料和有關(guān)參考資料,提高學(xué)生進(jìn)行程序設(shè)</p><p> 計(jì)的基本能力。初步掌握軟件開發(fā)過(guò)程的問(wèn)題分析、系統(tǒng)設(shè)計(jì)、程序編碼、
4、測(cè)</p><p> 試等基本方法和技能;</p><p> 3.提高綜合運(yùn)用所學(xué)的理論知識(shí)和方法獨(dú)立分析和解決問(wèn)題的能力; </p><p> 2.課程設(shè)計(jì)的任務(wù)及要求</p><p><b> 1)基本要求:</b></p><p> 1. 分析題目,查閱相關(guān)資料;<
5、;/p><p> 2. 算法設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì); </p><p> 3. 編寫代碼并調(diào)試;</p><p> 4. 完成課程設(shè)計(jì)報(bào)告。 </p><p><b> 2)創(chuàng)新要求: </b></p><p> 在基本要求達(dá)到后,可進(jìn)行創(chuàng)新設(shè)計(jì)。</p>
6、;<p> 3)課程設(shè)計(jì)論文編寫要求</p><p> ?。?)要按照書稿的規(guī)格打印謄寫論文</p><p> ?。?)論文包括目錄、緒論、正文、小結(jié)、參考文獻(xiàn)、謝辭、附錄等</p><p> ?。?)課程設(shè)計(jì)論文裝訂按學(xué)校的統(tǒng)一要求完成</p><p> 4)答辯與評(píng)分標(biāo)準(zhǔn): </p><p>
7、(1)完成問(wèn)題的解決方法分析:20分; </p><p> ?。?)算法思想(流程):20分; </p><p> ?。?)數(shù)據(jù)結(jié)構(gòu):20分;</p><p> ?。?)測(cè)試數(shù)據(jù):20分</p><p> ?。?)回答問(wèn)題:20分。</p><p> 5)參考文獻(xiàn): </p><p>
8、《C程序設(shè)計(jì)》(第二版) 譚浩強(qiáng) 著 清華大學(xué)出版社出版</p><p> 《C++程序設(shè)計(jì)》 譚浩強(qiáng) 著 清華大學(xué)出版社出版</p><p> 《數(shù)據(jù)結(jié)構(gòu)》(C語(yǔ)言版) 嚴(yán)蔚敏、吳偉民 著 清華大學(xué)出版社出版</p><p> 6)課程設(shè)計(jì)進(jìn)度安排</p><p> 內(nèi)容
9、 天數(shù) 地點(diǎn)</p><p> 構(gòu)思及收集資料 圖書館</p><p> 編程與調(diào)試 實(shí)驗(yàn)室</p><p> 撰寫論文 </p><p> 學(xué)生簽名:______________________</p><p>
10、; 2015年 12 月 28 日</p><p> 課程設(shè)計(jì)(論文)評(píng)審意見</p><p> ?。?)完成問(wèn)題分析(20分):優(yōu)( )、良( )、中(?。⒁话悖ā。?、差( ); </p><p> ?。?)算法思想 ?。?0分):優(yōu)( )、良(?。?、中(?。?、一般(?。?、差(?。?</p><p> ?。?)數(shù)據(jù)結(jié)構(gòu) (20分)
11、:優(yōu)( )、良(?。⒅校ā。⒁话悖ā。⒉睿ā。?;</p><p> ?。?)測(cè)試數(shù)據(jù) (20分):優(yōu)(?。?、良(?。?、中(?。?、一般(?。?、差( );</p><p> ?。?)回答問(wèn)題 (20分):優(yōu)(?。?、良( )、中(?。⒁话悖ā。⒉睿ā。?lt;/p><p> ?。?)格式規(guī)范性及考勤是否降等級(jí):是(√)、否( )</p>&l
12、t;p> 評(píng)閱人: 趙海霞 職稱: 講師 </p><p> 2016年1 月10 日</p><p><b> 目錄</b></p><p> 一、綜合軟件設(shè)計(jì)目的</p><p> 二、綜合軟件設(shè)計(jì)內(nèi)容</p><p> 1、課程設(shè)計(jì)的題目及簡(jiǎn)介</p>
13、;<p><b> 2、設(shè)計(jì)說(shuō)明</b></p><p><b> 3、程序部分清單</b></p><p><b> 三、測(cè)試數(shù)據(jù):</b></p><p> 四、總結(jié)(寫出心得和總結(jié))</p><p><b> 五、參考文獻(xiàn) </b&
14、gt;</p><p><b> 綜合軟件設(shè)計(jì)目的</b></p><p> 1、 使學(xué)生進(jìn)一步理解和掌握課堂上所學(xué)各種基本抽象數(shù)據(jù)類型的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)和操作實(shí)現(xiàn)算法,以及它們?cè)诔绦蛑械氖褂梅椒ā?lt;/p><p> 2、了解并掌握數(shù)據(jù)結(jié)構(gòu)與算法的設(shè)計(jì)方法,具備初步的獨(dú)立分析和設(shè)計(jì)能力;使學(xué)生掌握使用各種計(jì)算機(jī)資料和有關(guān)參考資
15、料,提高學(xué)生進(jìn)行程序設(shè)計(jì)的基本能力。初步掌握軟件開發(fā)過(guò)程的問(wèn)題分析、系統(tǒng)設(shè)計(jì)、程序編碼、測(cè)試等基本方法和技能;</p><p> 提高綜合運(yùn)用所學(xué)的理論知識(shí)和方法獨(dú)立分析和解決問(wèn)題的能力;</p><p><b> 綜合軟件設(shè)計(jì)內(nèi)容</b></p><p><b> 1.課程題目及簡(jiǎn)介</b></p>
16、<p><b> 題目:基礎(chǔ)軟件設(shè)計(jì)</b></p><p> 簡(jiǎn)介:使用C語(yǔ)言實(shí)現(xiàn)編碼,實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)各種功能。全面性涉及到所有內(nèi)容,系統(tǒng)的總結(jié)了數(shù)據(jù)結(jié)構(gòu)各個(gè)方面。</p><p><b> 設(shè)計(jì)說(shuō)明:</b></p><p> 此程序采用多菜單分布執(zhí)行的方式,可以簡(jiǎn)潔、方便的控制程序的運(yùn)行。主菜單下含有
17、多個(gè)子菜單對(duì)應(yīng)著不同類型的數(shù)據(jù)結(jié)構(gòu)內(nèi)容。</p><p> 分別是:線性表、棧、串、隊(duì)列、樹與森林、圖、排序和查找。</p><p> 各個(gè)子菜單下的每項(xiàng)功能均與數(shù)據(jù)結(jié)構(gòu)內(nèi)容相關(guān)。線性表菜單涉及到綜述數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)和抽象數(shù)據(jù)類型。其余各子菜單也各自涉及到各種數(shù)據(jù)結(jié)構(gòu)的基本類型及其功能。</p><p><b> 3.核心代碼</b><
18、;/p><p><b> //頭文件</b></p><p> #include<stdio.h></p><p> #include<stdlib.h></p><p> #include<string.h></p><p> #include<c
19、onio.h></p><p> #include<math.h></p><p> #include<time.h></p><p> #include <io.h></p><p> #define OK 1</p><p> #define ERROR 0<
20、;/p><p> #define TRUE 1</p><p> #define FALSE 0</p><p> #define MaxLength 50</p><p> typedef int Status;</p><p> void chuanshun();</p><p>
21、void xianshun();</p><p> void zhan();</p><p> void xianxingbiao();</p><p> void paixu();</p><p> //void dui();</p><p> void sanlie();</p><p
22、> void chu();</p><p> void chazhao();</p><p><b> //棧定義</b></p><p> typedef int SElemType;</p><p> typedef struct</p><p><b> {<
23、;/b></p><p> SElemType data[MaxLength];</p><p><b> int top;</b></p><p><b> }SqStack;</b></p><p> Status InitStack(SqStack *S);</p>
24、<p> Status PushStack(SqStack *S,SElemType e);</p><p> void TraverseStack(SqStack S);</p><p> Status GetTop(SqStack S,SElemType *e);</p><p> Status PopStack(SqStack *S,SEl
25、emType *e);</p><p> Status ClearStack(SqStack *S);</p><p> typedef struct StackNode</p><p><b> {</b></p><p> SElemType data;</p><p> struc
26、t StackNode *next;</p><p> }StackNode,*LinkStackPtr;</p><p> typedef struct</p><p><b> {</b></p><p> LinkStackPtr top;</p><p> int count;&
27、lt;/p><p> }LinkStack;</p><p> Status InitStack1(LinkStack *S);</p><p> Status PushStack1(LinkStack *S,SElemType e);</p><p> void TraverseStack1(LinkStack S);</p>
28、;<p> Status PopStack1(LinkStack *S,SElemType *e);</p><p> Status ClearStack1(LinkStack *S);</p><p> typedef char SElemTypec;</p><p> typedef struct</p><p>&
29、lt;b> {</b></p><p> char data[50];</p><p><b> int top;</b></p><p> }SqStackc;</p><p> Status InitStackc(SqStackc *S);</p><p> St
30、atus PushStackc(SqStackc *S,SElemTypec e);</p><p> void TraverseStackc(SqStackc S);</p><p> Status ClearStackc(SqStackc *S);</p><p> Status PopStackc(SqStackc *S,SElemTypec *e);&
31、lt;/p><p> void shuzhizhuanhuan();</p><p> void migongwenti();</p><p> void hangbianji();</p><p> void biaodashi();</p><p> void kuohaopipei();</p>
32、<p> void zhanshun();</p><p> void zhanlian();</p><p> void cheng();</p><p><b> //線性表定義</b></p><p> typedef int LElemType;</p><p>
33、 typedef struct</p><p><b> {</b></p><p> LElemType data[MaxLength];</p><p> int Length;</p><p><b> }SeqList;</b></p><p> Statu
34、s InitList(SeqList *L);</p><p> Status ListInsert(SeqList *L,int i,LElemType e);</p><p> SeqList CreatList(SeqList L);</p><p> void TraverseList(SeqList *L);</p><p>
35、 Status DeleteList(SeqList *L,int n);</p><p> Status FindList(SeqList *L,LElemType e);</p><p> Status AddList(SeqList *L,LElemType e);</p><p> LElemType FindnumList(SeqList *L,i
36、nt n);</p><p> Status DestroyList(SeqList *L);</p><p> typedef struct Node</p><p><b> {</b></p><p> LElemType data;</p><p> struct Node *n
37、ext;</p><p><b> }Node;</b></p><p> typedef struct Node *LinkList;</p><p> Status InitList1(LinkList *L);</p><p> Status ListLength1(LinkList L);</p&g
38、t;<p> Status ListInsert1(LinkList *L,int n,LElemType e);</p><p> void TraverseLint1(LinkList L);</p><p> //Status ListDelete1(LinkList *L,intListTraverse1 n);</p><p> St
39、atus ListDelete1(LinkList *L,int i,LElemType *e);</p><p> Status FindnumList1(LinkList *L,int n,LElemType *e);</p><p> Status LocateElem1(LinkList *L,LElemType e);</p><p> Status
40、 CreatListHead1(LinkList *L);</p><p> Status ClearList1(LinkList *L);</p><p> Status CreateListTail1(LinkList *L,int n);</p><p> void xianlian();</p><p> void shuan
41、glian();</p><p> void er();</p><p><b> //串定義</b></p><p> typedef char String[MaxLength+1];</p><p> Status CreatStr(String T,char *chars);</p><
42、;p> void OutputStr(String T);</p><p> Status LengthStr(String T);</p><p> Status CompareStr(String S,String T);</p><p> Status ConcatStr(String T,String S1,String S2);</p&
43、gt;<p> Status SubString(String sub,String S1,int n,int m);</p><p> int Index(String S, String T, int pos);</p><p> Status StrInsert(String S,int pos,String T);</p><p> S
44、tatus StrDelete(String S,int pos,int len);</p><p> Status Replace(String S,String T,String V);</p><p> void chuanshun();</p><p> void chuanlian();</p><p> void chua
45、ndui();</p><p> void chaun();</p><p> typedef char TElemType;</p><p> typedef struct SNode</p><p><b> {</b></p><p> char data;</p>
46、<p> struct SNode *next;</p><p><b> }SNode;</b></p><p> typedef struct SNode *LString;</p><p> Status InitStr(LString *T);</p><p> Status InsertSt
47、r(LString *T,LElemType chars[]);</p><p><b> //隊(duì)列</b></p><p> typedef int QElemType;</p><p> typedef struct</p><p><b> {</b></p><p
48、> QElemType data[MaxLength];</p><p> int front;</p><p><b> int rear;</b></p><p><b> }SqQueue;</b></p><p> Status InitQueue(SqQueue *Q);&
49、lt;/p><p> Status TraverseQueue(SqQueue Q);</p><p> Status InsertQueue(SqQueue *Q,QElemType e);</p><p> Status DeleteQueue(SqQueue *Q,QElemType *e);</p><p> Status Cle
50、arQueue(SqQueue *Q);</p><p> Status EmptyQueue(SqQueue Q);</p><p> int LengthQueue(SqQueue Q);</p><p> void duishun();</p><p> void xunhuandui();</p><p&g
51、t; void duilie();</p><p> typedef struct QNode</p><p><b> {</b></p><p> QElemType data;</p><p> struct QNode *next;</p><p> }QNode,*Queue
52、Par;</p><p> typedef struct</p><p><b> {</b></p><p> QueuePar front,rear;</p><p> }LinkQueue;</p><p> Status InitQueue1(LinkQueue *Q);<
53、/p><p> void duilian();</p><p> void kuaipai();</p><p> void erchapaixu();</p><p> void xier();</p><p> void zhipai();</p><p> void guibing
54、();</p><p> void jishu();</p><p> void xuanze();</p><p> void shushun();</p><p> void jian();</p><p> void jia();</p><p> void shu();<
55、;/p><p> Status InitStack(SqStack *S)</p><p><b> {</b></p><p> S->top=-1;</p><p> return OK;</p><p><b> }</b></p><p
56、> Status PushStack(SqStack *S,SElemType e)</p><p><b> {</b></p><p> if(S->top>=MaxLength-1)</p><p><b> {</b></p><p> printf("
57、此棧已滿!\n");</p><p> return ERROR;</p><p><b> }</b></p><p><b> S->top++;</b></p><p> S->data[S->top]=e;</p><p> re
58、turn OK;</p><p><b> }</b></p><p> void TraverseStack(SqStack S)</p><p><b> {</b></p><p><b> int i;</b></p><p> for
59、(i=0;i<=S.top;i++)</p><p><b> {</b></p><p> printf("%d ",S.data[i]);</p><p><b> }</b></p><p> printf("\n");</p>
60、<p><b> }</b></p><p> Status InitList1(LinkList *L)</p><p><b> {</b></p><p> *L=(LinkList)malloc(sizeof(Node));</p><p><b> if(
61、!(*L))</b></p><p><b> {</b></p><p> return ERROR;</p><p><b> }</b></p><p> (*L)->next=NULL;</p><p> return OK;</p&
62、gt;<p><b> }</b></p><p> Status ListLength1(LinkList L)</p><p><b> {</b></p><p><b> int i=0;</b></p><p> LinkList p=L-&g
63、t;next;</p><p><b> while(p)</b></p><p><b> {</b></p><p><b> i++;</b></p><p> p=p->next;</p><p><b> }</
64、b></p><p><b> return i;</b></p><p><b> }</b></p><p> Status ListInsert1(LinkList *L,int n,LElemType e)</p><p><b> {</b></p
65、><p><b> int i;</b></p><p> LinkList p,s;</p><p><b> p=*L;</b></p><p><b> i=1;</b></p><p> while(p&&i<n)&l
66、t;/p><p><b> {</b></p><p> p=p->next;</p><p><b> i++;</b></p><p><b> }</b></p><p> if(!p||i>n)</p><p
67、><b> {</b></p><p> printf("該節(jié)點(diǎn)不存在!\n");</p><p><b> }</b></p><p> s=(LinkList)malloc(sizeof(Node));</p><p> s->data=e;</p
68、><p> s->next=p->next;</p><p> p->next=s;</p><p> return OK;</p><p><b> }</b></p><p> void ListTraverse1(LinkList L)</p><
69、p><b> {</b></p><p> LinkList p=L->next;</p><p><b> while(p)</b></p><p><b> {</b></p><p> printf("%d ",p->dat
70、a);</p><p> p=p->next;</p><p><b> }</b></p><p> printf("\n");</p><p><b> }</b></p><p> Status CreatStr(String T,c
71、har *chars)</p><p><b> {</b></p><p><b> int i;</b></p><p> if(strlen(chars)>MaxLength)</p><p> return ERROR;</p><p><b>
72、; else</b></p><p><b> {</b></p><p> T[0]=strlen(chars);</p><p> for(i=1;i<=T[0];i++)</p><p> T[i]=*(chars+i-1);</p><p> return O
73、K;</p><p><b> }</b></p><p><b> }</b></p><p> void OutputStr(String T)</p><p><b> {</b></p><p><b> int i;<
74、/b></p><p> for(i=1;i<=T[0];i++)</p><p> printf("%c",T[i]);</p><p> printf("\n");</p><p><b> }</b></p><p> Statu
75、s LengthStr(String S1)</p><p><b> {</b></p><p> return S1[0];</p><p><b> }</b></p><p> Status CompareStr(String S,String T)</p><p
76、><b> {</b></p><p><b> int i;</b></p><p> for(i=1;i<=S[0]&&i<=T[0];i++)</p><p><b> {</b></p><p> if(S[i]!=T[i])
77、</p><p> return S[i]-T[i];</p><p><b> }</b></p><p> return S[0]-T[0];</p><p><b> }</b></p><p> Status ConcatStr(String T,Strin
78、g S1,String S2)</p><p><b> {</b></p><p><b> int i;</b></p><p> if(S1[0]+S2[0]<=MaxLength)</p><p><b> { </b></p><p&
79、gt; for(i=1;i<=S1[0];i++)</p><p> T[i]=S1[i];</p><p> for(i=1;i<=S2[0];i++)</p><p> T[S1[0]+i]=S2[i];</p><p> T[0]=S1[0]+S2[0];</p><p> return
80、OK;</p><p><b> }</b></p><p><b> else</b></p><p><b> { </b></p><p> for(i=1;i<=S1[0];i++)</p><p> T[i]=S1[i];<
81、;/p><p> for(i=1;i<=MaxLength-S1[0];i++)</p><p> T[S1[0]+i]=S2[i];</p><p> T[0]=MaxLength;</p><p> return ERROR;</p><p><b> }</b></p>
82、;<p><b> }</b></p><p> Status InitQueue(SqQueue *Q)</p><p><b> {</b></p><p> Q->front=0;</p><p> Q->rear=0;</p><p&g
83、t; return OK;</p><p><b> }</b></p><p> Status TraverseQueue(SqQueue Q)</p><p><b> {</b></p><p><b> int i;</b></p><p
84、> i=Q.front;</p><p> while((i+Q.front)!=Q.rear)</p><p><b> {</b></p><p> printf("%d ",Q.data[i]);</p><p> i=(i+1)%MaxLength;</p>&l
85、t;p><b> }</b></p><p> printf("\n");</p><p> return OK;</p><p><b> }</b></p><p> Status InsertQueue(SqQueue *Q,QElemType e)<
86、/p><p><b> {</b></p><p> if ((Q->rear+1)%MaxLength == Q->front)</p><p> return ERROR;</p><p> Q->data[Q->rear]=e;</p><p> retur
87、n OK;</p><p><b> }</b></p><p> Status DeleteQueue(SqQueue *Q,QElemType *e)</p><p><b> {</b></p><p> if (Q->front == Q->rear)</p>
88、;<p> return ERROR;</p><p> *e=Q->data[Q->front];</p><p> Q->front=(Q->front+1)%MaxLength;</p><p> return OK;</p><p><b> }</b></
89、p><p><b> //二叉排序樹</b></p><p> typedef struct TNode</p><p><b> {</b></p><p><b> int data;</b></p><p> struct TNode *lc
90、hild;</p><p> struct TNode *rchild;</p><p> }TNode,*BSTree;</p><p> bool searchTree(BSTree T,int e,BSTree parent,BSTree &p)</p><p><b> {</b></p&g
91、t;<p><b> if(!T)</b></p><p><b> {</b></p><p><b> p=parent;</b></p><p> return false;</p><p><b> }</b></p&
92、gt;<p><b> else</b></p><p><b> {</b></p><p> if(e==T->data)</p><p><b> {</b></p><p><b> p=T;</b></p>
93、;<p> return true;</p><p><b> }</b></p><p> else if(e<T->data)</p><p> return searchTree(T->lchild,e,T,p);</p><p><b> else</b&
94、gt;</p><p> return searchTree(T->rchild,e,T,p);</p><p><b> }</b></p><p><b> }</b></p><p> bool InsertTree(BSTree &T,int e)</p>
95、<p><b> {</b></p><p><b> BSTree p;</b></p><p> if(!searchTree(T,e,NULL,p))</p><p><b> {</b></p><p> BSTree pNew=(BSTree)m
96、alloc(sizeof(TNode));</p><p> pNew->data=e;</p><p> pNew->lchild=pNew->rchild=NULL;</p><p><b> if(!p)</b></p><p><b> T=pNew;</b><
97、;/p><p> else if(e<p->data)</p><p> p->lchild=pNew;</p><p><b> else</b></p><p> p->rchild=pNew;</p><p><b> }</b></
98、p><p><b> else</b></p><p> return false;</p><p><b> }</b></p><p> void TraverseTree(BSTree T)</p><p><b> {</b></p&
99、gt;<p><b> if(T)</b></p><p><b> {</b></p><p> if(T->lchild)</p><p> TraverseTree(T->lchild);</p><p> printf("%d ",T-
100、>data);</p><p> if(T->rchild)</p><p> TraverseTree(T->rchild);</p><p><b> }</b></p><p><b> }</b></p><p> void erchapa
101、ixu()</p><p><b> {</b></p><p><b> int n,m;</b></p><p> BSTree T=NULL;</p><p> srand(time(0));</p><p> printf("請(qǐng)輸入要排序的數(shù)字?jǐn)?shù)目
102、:\n");</p><p> scanf("%d",&n);</p><p> printf("隨機(jī)生成的數(shù)列為:\n");</p><p> for(int i=1;i<=n;i++)</p><p><b> {</b></p>
103、<p> m=rand()%100;</p><p> printf("%d ",m);</p><p> InsertTree(T,m);</p><p><b> }</b></p><p> printf("\n");</p><p&g
104、t; printf("二叉排序的結(jié)果為:\n");</p><p> TraverseTree(T);</p><p> printf("\n");</p><p><b> }</b></p><p><b> //希爾排序</b></p&g
105、t;<p> void shell(int a[], int n)</p><p><b> {</b></p><p> int i, j, gap,temp,k;</p><p> for(gap=n/2;gap>0;gap/=2) </p><p> for(i=0;i<gap;
106、i++) </p><p><b> {</b></p><p> for(j=i+gap;j<n;j+=gap) </p><p> if(a[j]<a[j-gap])</p><p><b> {</b></p><p> temp=a
107、[j];</p><p><b> k=j-gap;</b></p><p> while(k>=0&&a[k]>temp)</p><p><b> {</b></p><p> a[k+gap]=a[k];</p><p><b&
108、gt; k-=gap;</b></p><p><b> }</b></p><p> a[k+gap]=temp;</p><p><b> }</b></p><p><b> }</b></p><p><b>
109、}</b></p><p><b> //</b></p><p> Status SearchHash(HashTable H,int key,int *addr)</p><p><b> {</b></p><p> *addr = Hash(key); </p&g
110、t;<p> while(H.elem[*addr] != key) </p><p><b> {</b></p><p> *addr = (*addr+1) % m; </p><p> if (H.elem[*addr] == -1 || *addr == Hash(key)) </p><p&
111、gt; return ERROR; </p><p><b> }</b></p><p> return OK;</p><p><b> }</b></p><p><b> 三、測(cè)試數(shù)據(jù):</b></p><p><b>
112、 結(jié)果測(cè)試:</b></p><p><b> 頁(yè)面初始化</b></p><p> 各子菜單及其所含程序</p><p><b> 部分功能執(zhí)行情況:</b></p><p><b> 棧的使用:</b></p><p><b
113、> 線性表的使用</b></p><p><b> 串的使用</b></p><p><b> 排序功能演示</b></p><p><b> 樹的實(shí)現(xiàn)結(jié)果</b></p><p><b> 查找</b></p>
114、<p><b> 四:總結(jié)</b></p><p> 從此次課程設(shè)計(jì)中我學(xué)習(xí)到很多,極大的提升了自己編程能力,了解并掌握數(shù)據(jù)結(jié)構(gòu)與算法的設(shè)計(jì)方法,學(xué)習(xí)到了初步的獨(dú)立分析和設(shè)計(jì)能力; 初步了解到了軟件開發(fā)過(guò)程的問(wèn)題分析、系統(tǒng)設(shè)計(jì)、程序編碼、測(cè)試等基本方法和技能;更重要的是提高自己綜合運(yùn)用所學(xué)的理論知識(shí)和方法獨(dú)立分析和解決問(wèn)題的能力;此外經(jīng)過(guò)一周的課程設(shè)計(jì)我也接觸到許多課程之外知識(shí)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)論文
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----huffman編碼
- 15級(jí)軟件工程-數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)要求ppt-數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---商品管理軟件
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)迷宮課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論