版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 課 程 設(shè) 計(jì) 任 務(wù) 書</p><p> 題目 家族關(guān)系查詢系統(tǒng) </p><p> 主要內(nèi)容、基本要求、主要參考資料等:</p><p><b> 主要內(nèi)容:</b></p><p> 建立家族關(guān)系數(shù)據(jù)庫,實(shí)現(xiàn)對(duì)家族成員關(guān)系的相關(guān)查詢。</p>&
2、lt;p><b> 基本要求:</b></p><p> (1)建立家族關(guān)系并能存儲(chǔ)到文件中;</p><p> ?。?)實(shí)現(xiàn)家族成員的添加。</p><p> ?。?)可以查詢家族成員的雙親、祖先、兄弟、孩子和后代等信息。</p><p> 課程設(shè)計(jì)按照教學(xué)要求需要一周時(shí)間完成,總共要上機(jī)調(diào)試程序10小時(shí)。
3、對(duì)每個(gè)題目要有需求分析, 在需求分析中,將題目中要求的功能進(jìn)行敘述分析,并且設(shè)計(jì)解決此問題的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),設(shè)計(jì)或敘述解決此問題的算法,描述算法建議使用流程圖,進(jìn)行算法分析指明關(guān)鍵語句的時(shí)間復(fù)雜度。給出實(shí)現(xiàn)功能的一組或多組測(cè)試數(shù)據(jù),程序調(diào)試后,將按照此測(cè)試數(shù)據(jù)進(jìn)行測(cè)試的結(jié)果列出來 。</p><p> 源程序要按照寫程序的規(guī)則來編寫。要結(jié)構(gòu)清晰,重點(diǎn)函數(shù)的重點(diǎn)變量,重點(diǎn)功能部分要加上清晰的程序注釋。
4、160; 程序能夠運(yùn)行,要有基本的容錯(cuò)功能。盡量避免出現(xiàn)操作錯(cuò)誤時(shí)出現(xiàn)死循環(huán); </p><p> 主要參考資料:數(shù)據(jù)結(jié)構(gòu)(C語言版),在網(wǎng)上查詢的相關(guān)資料及部分代碼</p><p> 完 成 期 限: 2013.6.18-2013.6.20 </p><p> 指導(dǎo)教師簽名: </p><
5、p> 課程負(fù)責(zé)人簽名: </p><p> 2013年 6 月 18 日</p><p> 設(shè)計(jì)題目(任選其一)</p><p><b> 家族關(guān)系查詢系統(tǒng)</b></p><p> 運(yùn)行環(huán)境(軟、硬件環(huán)境)</p><p> 電腦
6、及Visual C++ 6.0</p><p><b> 算法設(shè)計(jì)的思想</b></p><p> 隨著社會(huì)發(fā)展,人們使用紙質(zhì)的家譜已經(jīng)非常不方便而且不利于在家譜里進(jìn)行添加和修改。而用算法設(shè)計(jì)一個(gè)家族關(guān)系查詢系統(tǒng)則可以解決這個(gè)問題。數(shù)據(jù)結(jié)構(gòu)的二叉樹剛好滿足家譜的基本結(jié)構(gòu)。</p><p> 首先建立一個(gè)文件作為家譜,然后在文件中輸入字
7、符串,實(shí)現(xiàn)了在文件中按照數(shù)據(jù)的邏輯關(guān)系進(jìn)進(jìn)輸入便可建立相應(yīng)的三叉鏈表。然后就是進(jìn)行數(shù)據(jù)的存儲(chǔ)、刪除及查找工作。</p><p><b> 算法的流程圖</b></p><p><b> 家譜的創(chuàng)建:</b></p><p><b> 載入家譜:</b></p><p>&
8、lt;b> 修改家譜:</b></p><p><b> 成員查詢:</b></p><p><b> 算法設(shè)計(jì)分析</b></p><p> 本次設(shè)計(jì)研究的是建立家族關(guān)系,實(shí)現(xiàn)對(duì)家族成員關(guān)系相關(guān)查詢的問題。在設(shè)計(jì)中使用的數(shù)據(jù)結(jié)構(gòu)為樹狀結(jié)構(gòu),樹狀結(jié)構(gòu)采用三叉鏈表實(shí)現(xiàn)。我們?cè)诮⒑眉易尻P(guān)系后將其存儲(chǔ)
9、在文件中,在文件中家族關(guān)系是以樹的形式存儲(chǔ),運(yùn)用樹的操作使家族關(guān)系得以準(zhǔn)確建立。 家族關(guān)系查詢系統(tǒng)可分為六大模塊,分別是創(chuàng)建、修改、查詢、保存、退出等。建立家族關(guān)系模塊,建立家族關(guān)系并存入文件。建立時(shí)首先輸入家族關(guān)系的名稱,以此名稱為名建立文本文件。接下來按層輸入成員姓名,輸入一個(gè)在文件中寫入一個(gè)字符串,以回車鍵結(jié)束。打開一個(gè)家族關(guān)系。在界面輸入選項(xiàng)名,以家族關(guān)系名為文件名打開文件,如果家族關(guān)系不存在,返回空;如果存在,打開文件,讀取文
10、件。向家族中添加一個(gè)新成員,添加的新成員要根據(jù)其父親確定其在家族中的位置。首先判斷該父親是否在此家族關(guān)系中,若存在,則查找其父親,將新節(jié)點(diǎn)插入其父親的最后一個(gè)孩子之后;若沒有孩子,直接作為左孩子插入。以寫入的方式打開文件,更新數(shù)組中的信息,然后將數(shù)組中的信息寫入文件保存,關(guān)閉文件。查找功能模塊,查找一個(gè)成員的所有祖先及其兄弟,查找一個(gè)成員的所有祖先路徑,需要從它的父親一直向上查找?guī)ЦY(jié)點(diǎn)。查找一個(gè)成員的</p><p
11、><b> 六、源代碼</b></p><p> #include <stdio.h> </p><p> #include <stdlib.h> </p><p> #include <string.h> </p><p> #include<conio.h&g
12、t; </p><p> typedef char TElemType; </p><p> typedef int status; </p><p> typedef struct BiTPNode{ </p><p> TElemType data[10]; </p><p> struct BiTPNo
13、de *parent,*lchild,*rchild; //父親及左右孩子指針</p><p> }BiTPNode,*BiPTree; </p><p> BiPTree P; </p><p> BiPTree T; </p><p><b> //家譜的創(chuàng)建</b></p><p>
14、 int Cre() </p><p><b> { </b></p><p> system("cls"); </p><p> FILE *fp; //聲明指向文件的指針</p><p> char filename[40],str[10]; </p><p>
15、 printf("請(qǐng)輸入家譜名稱:"); </p><p> getchar(); </p><p> gets(filename); //輸入家譜名稱</p><p> while(filename[0]==NULL) </p><p><b> { </b></p><
16、p> printf("家譜名不能為空,請(qǐng)重新輸入:"); </p><p> gets(filename); </p><p><b> } </b></p><p> if((fp=fopen(filename,"w"))==NULL) </p><p><b
17、> { </b></p><p> printf("%s家譜創(chuàng)建失敗!\n",filename); </p><p> return 0; </p><p><b> } </b></p><p> printf("請(qǐng)輸入家譜內(nèi)容:\n"); </
18、p><p> while (strlen(gets(str))>0) </p><p><b> { </b></p><p> fputs(str,fp); //向文件寫入字符串</p><p> putc('\n',fp); </p><p><b> }
19、 </b></p><p> fclose(fp); //關(guān)閉文件</p><p> printf("按任一鍵繼續(xù)!"); </p><p><b> getch(); </b></p><p> return 1; </p><p><b>
20、} </b></p><p> status loc(BiPTree T,BiPTree &P,TElemType name[10]){ </p><p><b> if(T)</b></p><p><b> {</b></p><p><b> P=T; &
21、lt;/b></p><p><b> //字符串的比較</b></p><p> if(!strcmp(name,T->data)) return 1; </p><p> if(loc(T->lchild,P,name)) return 1; </p><p> if(loc(T->r
22、child,P,name)) return 1;</p><p><b> } </b></p><p><b> else </b></p><p> return 0; </p><p><b> } </b></p><p><b&g
23、t; //構(gòu)造二叉樹</b></p><p> status inittree(BiPTree &T){ </p><p> T=(BiTPNode *)malloc(sizeof(BiTPNode)); </p><p><b> if(T) </b></p><p> return 0;
24、 </p><p> T->lchild=NULL; </p><p> T->rchild=NULL; </p><p> T->parent=NULL; </p><p> return 1; </p><p><b> } </b></p><
25、p><b> //載入家譜</b></p><p> status Crt(BiPTree &T){ </p><p> FILE *fp; </p><p> BiPTree Q,R,M,N; </p><p> char filename[40],name[10]; </p>&
26、lt;p> system("cls"); //清屏</p><p> R=(BiTPNode *)malloc(sizeof(BiTPNode)); //分配存儲(chǔ)空間</p><p> M=(BiTPNode *)malloc(sizeof(BiTPNode)); </p><p> N=(BiTPNode *)malloc(siz
27、eof(BiTPNode)); </p><p> printf("請(qǐng)輸入家譜名:"); </p><p> getchar(); </p><p> gets(filename); </p><p> while(filename[0]==NULL) </p><p><b>
28、 { </b></p><p> printf("家譜名不能為空,請(qǐng)重新輸入:"); </p><p> gets(filename); </p><p><b> } </b></p><p> if((fp=fopen(filename,"r"))==NUL
29、L) </p><p><b> { </b></p><p> printf("%s家譜打開失敗!\n",filename); </p><p> return 0; </p><p><b> } </b></p><p> inittree
30、(T); </p><p> fscanf(fp,"%s",name); //從文件讀入姓名</p><p> strcpy(T->data,name); </p><p> T->lchild=NULL; </p><p> T->rchild=NULL; </p><p&g
31、t; T->parent=NULL; </p><p> fclose(fp); </p><p> if((fp=fopen(filename,"r"))==NULL) </p><p><b> { </b></p><p> printf("%家譜打開失敗!\n&quo
32、t;,filename); </p><p> return 0; </p><p><b> } </b></p><p> fscanf(fp,"%s",name); </p><p> while(!feof(fp)){ </p><p> if(loc(T,P
33、,name)){ </p><p> fscanf(fp,"%s",name); </p><p> Q=(BiTPNode *)malloc(sizeof(BiTPNode)); </p><p> strcpy(Q->data,name); </p><p> P->lchild=Q; //構(gòu)建孩子
34、</p><p> Q->parent=P; </p><p> Q->lchild=NULL; </p><p> Q->rchild=NULL; </p><p><b> N=P; </b></p><p><b> } </b></p
35、><p> else if(!loc(T,P,name)){ </p><p> Q=(BiTPNode *)malloc(sizeof(BiTPNode)); </p><p><b> R=N; </b></p><p> R=R->lchild; </p><p> while(
36、R){ </p><p><b> M=R; </b></p><p> R=R->rchild;} </p><p> strcpy(Q->data,name); </p><p> M->rchild=Q; </p><p> Q->parent=M; <
37、;/p><p> Q->lchild=NULL; </p><p> Q->rchild=NULL;} </p><p> fscanf(fp,"%s",name); </p><p><b> } </b></p><p> printf("信息載
38、入成功,按任一鍵繼續(xù)!"); </p><p><b> getch(); </b></p><p> return 1; </p><p><b> } </b></p><p><b> //添加成員</b></p><p> s
39、tatus in(BiPTree &T){ </p><p> char father[10],name[10]; </p><p> BiPTree Q,M; </p><p> system("cls"); </p><p> printf("請(qǐng)輸入要添加到該家譜中的人的父親姓名:"
40、); </p><p> getchar(); </p><p> gets(father); </p><p> while(!loc(T,P,father)){ </p><p> printf("%s不在該家譜中!請(qǐng)重新輸入:",father); </p><p> gets(fat
41、her);} </p><p> printf("請(qǐng)輸入要添加到該家譜中的人的姓名:"); </p><p> gets(name); </p><p> Q=(BiTPNode *)malloc(sizeof(BiTPNode)); </p><p> M=(BiTPNode *)malloc(sizeof(Bi
42、TPNode)); </p><p> strcpy(Q->data,name); </p><p> Q->lchild=NULL; </p><p> Q->rchild=NULL; </p><p> if(!P->lchild){ </p><p> P->lchild=
43、Q; </p><p> Q->parent=P;} </p><p><b> else { </b></p><p> P=P->lchild; </p><p> while(P){ </p><p><b> M=P; </b></p>
44、;<p> P=P->rchild;} </p><p> M->rchild=Q; </p><p> Q->parent=M; </p><p><b> } </b></p><p> printf("成員添加成功,按任一鍵繼續(xù)!"); </p&g
45、t;<p><b> getch(); </b></p><p> return 1; </p><p><b> } </b></p><p><b> //刪除成員</b></p><p> status de(BiPTree &T){ &l
46、t;/p><p> char name[10]; </p><p> system("cls"); </p><p> printf("請(qǐng)輸入要?jiǎng)h除的人的姓名:"); </p><p> getchar(); </p><p> gets(name); </p>
47、<p> while(!loc(T,P,name)){ </p><p> printf("%s不在該家譜中!請(qǐng)重新輸入:",name); </p><p> gets(name);} </p><p> if(!P->rchild){ </p><p> if(P->parent-&g
48、t;lchild==P) </p><p> P->parent->lchild=NULL; </p><p><b> else </b></p><p> P->parent->rchild=NULL; </p><p> free(P);} </p><p>
49、 else if(P->rchild){ </p><p> if(P->parent->lchild==P) </p><p> P->parent->lchild=P->rchild; </p><p><b> else </b></p><p> P->pare
50、nt->rchild=P->rchild; </p><p> free(P);} </p><p> printf("成員刪除成功,按任一鍵繼續(xù)!"); </p><p><b> getch(); </b></p><p> return 1; </p><
51、p><b> }</b></p><p> status Show(TElemType e[10]){ </p><p> printf("%s ",e); </p><p> return 1; </p><p><b> } </b></p>
52、<p><b> //二叉樹的遍歷</b></p><p> status pre(BiPTree T,status(*visit)(TElemType[10])){ </p><p><b> if(T) { </b></p><p> if ((*visit)(T->data)) </p&
53、gt;<p> if (pre(T->lchild,visit)) </p><p> if (pre(T->rchild,visit)) return 1; </p><p> return 0; </p><p><b> } </b></p><p> else return 1
54、; </p><p><b> } </b></p><p><b> //家族成員查詢</b></p><p> status Sea(BiPTree T){ </p><p> char name[10]; </p><p> BiPTree N; </p
55、><p> N=(BiTPNode *)malloc(sizeof(BiTPNode)); </p><p> system("cls"); </p><p> printf("請(qǐng)輸入要查尋的人的姓名:"); </p><p> getchar(); </p><p> g
56、ets(name); </p><p> while(!loc(T,P,name)){ </p><p> printf("%s不在該家譜中!請(qǐng)重新輸入:",name); </p><p> gets(name);} </p><p><b> N=P; </b></p><
57、;p><b> if(P==T) </b></p><p> printf("%s的父親在該家譜中沒有記載!\n",P->data); </p><p><b> else { </b></p><p> while(N->parent->rchild==N) </
58、p><p> N=N->parent; </p><p> printf("%s的父親是:%s\n",P->data,N->parent->data);} </p><p><b> N=P; </b></p><p><b> if(P==T) </b&g
59、t;</p><p> printf("%s沒有兄弟!\n",P->data); </p><p> else if(!P->rchild&&P->parent->rchild!=P) </p><p> printf("%s沒有兄弟!\n",P->data); </p
60、><p><b> else { </b></p><p> printf("%s的兄弟有:\n",name); </p><p> while(N->rchild){ </p><p> printf("%s ",N->rchild->data); <
61、/p><p> N=N->rchild;} </p><p><b> N=P; </b></p><p> while(N->parent->rchild==N){ </p><p> printf("%s ",N->parent->data); </p>
62、;<p> N=N->parent;} </p><p> printf("\n"); </p><p><b> } </b></p><p><b> if(P==T) </b></p><p> printf("%s的祖先在該家譜中沒
63、有記載!\n",name); </p><p><b> else </b></p><p> printf("%s的祖先是:%s\n",name,T->data); </p><p><b> N=P; </b></p><p> if(!P->l
64、child){ </p><p> printf("%s沒有孩子!\n",name); </p><p> printf("%s沒有后代\n",name);} </p><p><b> else { </b></p><p> printf("%s的孩子有:\n
65、",name); </p><p> printf("%s ",P->lchild->data); </p><p> N=N->lchild; </p><p> while(N->rchild){ </p><p> printf("%s ",N->r
66、child->data); </p><p> N=N->rchild;} </p><p> printf("\n"); </p><p> printf("%s的后代有:\n",name); </p><p> pre(P->lchild,Show); </p>
67、<p> printf("\n"); </p><p><b> } </b></p><p> printf("按任一鍵繼續(xù)!"); </p><p><b> getch(); </b></p><p> return 1; <
68、;/p><p><b> } </b></p><p><b> //文件的創(chuàng)建</b></p><p> status write(BiPTree T,char filename[40]){ </p><p> FILE *fp; </p><p> if((fp=f
69、open(filename,"a+"))==NULL) </p><p><b> { </b></p><p> printf("%s文件創(chuàng)建失敗!\n",filename); </p><p> return 0; </p><p><b> } </b
70、></p><p> fprintf(fp,"%s ",T->data); </p><p> T=T->lchild; </p><p> while(T){ </p><p> fprintf(fp,"%s ",T->data); </p><p&
71、gt; T=T->rchild;} </p><p> fprintf(fp,"\n"); //輸出</p><p> fclose(fp); </p><p> return 1; </p><p><b> } </b></p><p> status p
72、rewrite(BiPTree T,status(*visit)(BiPTree,char[40]),char filename[40]){ </p><p><b> if(T) { </b></p><p> if (T->lchild) </p><p> (*visit)(T,filename); </p>&
73、lt;p> prewrite(T->lchild,visit,filename); </p><p> prewrite(T->rchild,visit,filename); </p><p> return 1;} </p><p> else return 1; </p><p><b> }<
74、/b></p><p> status wrong() </p><p><b> { </b></p><p><b> char a; </b></p><p> scanf("%c",&a); </p><p> printf
75、("無此選項(xiàng),請(qǐng)重新選擇!(按任一鍵繼續(xù)!)"); </p><p><b> getch(); </b></p><p> return 1; </p><p><b> } </b></p><p><b> //家譜的存儲(chǔ)</b></p&
76、gt;<p> status Sav(BiPTree T){ </p><p> FILE *fp; </p><p> char filename[40]; </p><p> system("cls"); </p><p> printf("請(qǐng)輸入新的文件名:"); <
77、/p><p> getchar(); </p><p> gets(filename); </p><p> while(filename[0]==NULL) </p><p><b> { </b></p><p> printf("家譜名不能為空,請(qǐng)重新輸入:");
78、</p><p> gets(filename); </p><p><b> } </b></p><p> prewrite(T,write,filename); </p><p> printf("%s家譜保存成功,按任一鍵繼續(xù)!",filename); </p><
79、p><b> getch(); </b></p><p> return 1; </p><p><b> } </b></p><p><b> //修改家譜</b></p><p> status Upd(){ </p><p>
80、system("cls"); </p><p><b> int xz; </b></p><p><b> while(1) </b></p><p><b> { </b></p><p> system("cls"); &l
81、t;/p><p> printf("\n\n\n\n");</p><p> printf("(*^◎^*)家族成員的添加與刪除操作(*^◎^*) \n");</p><p> printf("(*^◎^*) 請(qǐng)選擇 (*^◎^*)\n"); printf("
82、(*^◎^*) 1.添加成員. (*^◎^*)\n"); printf("(*^◎^*) 2.刪除成員. (*^◎^*)\n"); </p><p> printf(" (*^◎^*) 3.返回上一級(jí). (*^◎^*)\n"); </p><p> pr
83、intf(" 請(qǐng)選擇:"); </p><p> scanf("%d",&xz); </p><p> switch(xz) </p><p><b> { </b></p><p> case 1 : in(T);break; </p>
84、<p> case 2 : de(T);break; </p><p> case 3 : return 0; </p><p><b> default :</b></p><p><b> wrong();</b></p><p><b> break; </
85、b></p><p><b> } </b></p><p><b> } </b></p><p><b> }</b></p><p><b> main() </b></p><p><b> { &
86、lt;/b></p><p> P=(BiTPNode *)malloc(sizeof(BiTPNode)); </p><p><b> int xz; </b></p><p><b> while(1) </b></p><p><b> { </b><
87、;/p><p> system("cls"); </p><p> printf("\n\n\n\n"); </p><p> printf("(*^◎^*) 家族關(guān)系查詢系統(tǒng) (*^◎^*) \n"); </p><p> printf("(*^◎^*)
88、 具體操作如下 (*^◎^*) \n"); </p><p> printf("(*^◎^*) 1.創(chuàng)建家譜. (*^◎^*) \n"); </p><p> printf("(*^◎^*) 2.載入家譜. (*^◎^*) \n"); </p><
89、;p> printf("(*^◎^*) 3.修改家譜. (*^◎^*) \n"); </p><p> printf("(*^◎^*) 4.查尋成員. (*^◎^*) \n"); </p><p> printf("(*^◎^*) 5.保存家譜. (*^◎^*)
90、 \n"); </p><p> printf("(*^◎^*) 6.退出程序. (*^◎^*) \n"); </p><p> printf(" 請(qǐng)選擇操作:"); </p><p> scanf("%d",&xz); </p>&
91、lt;p> switch(xz) </p><p><b> { </b></p><p><b> case 1 : </b></p><p><b> Cre();</b></p><p><b> break; </b></p&
92、gt;<p><b> case 2 : </b></p><p><b> Crt(T);</b></p><p><b> break; </b></p><p><b> case 3 : </b></p><p><b&
93、gt; Upd();</b></p><p><b> break; </b></p><p><b> case 4 : </b></p><p><b> Sea(T);</b></p><p><b> break; </b>&
94、lt;/p><p><b> case 5 : </b></p><p><b> Sav(T);</b></p><p><b> break; </b></p><p><b> case 6 : </b></p><p>
95、 return 0; </p><p><b> default :</b></p><p><b> wrong();</b></p><p><b> break; </b></p><p><b> } </b></p>&l
96、t;p><b> } </b></p><p><b> }</b></p><p><b> 運(yùn)行結(jié)果分析</b></p><p> 主界面及其操作選項(xiàng):</p><p> 輸入家譜名稱及家譜內(nèi)容:</p><p><b>
97、 載入已建立家譜:</b></p><p> 家族成員的添加及刪除主選項(xiàng):</p><p><b> 家族成員的添加:</b></p><p><b> 家族成員的刪除:</b></p><p> 家族成員的查詢操作:</p><p><b>
98、 收獲及體會(huì)</b></p><p> 轉(zhuǎn)眼課程設(shè)計(jì)已經(jīng)結(jié)束,從選擇任務(wù)到上網(wǎng)查找資料,到源代碼的完成,到代碼真正的運(yùn)行出來。我通過本次數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)對(duì)數(shù)據(jù)結(jié)構(gòu)的算法有了更深的了解、對(duì)以前學(xué)過的知識(shí)進(jìn)行了鞏固和提高。 </p><p> 數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)程序設(shè)計(jì)的重要理論技術(shù)基礎(chǔ)。這次課程設(shè)計(jì)運(yùn)用C語言作為數(shù)據(jù)結(jié)構(gòu)和算法的描述語言對(duì)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)和算法進(jìn)行描述。這次任務(wù)提
99、高了我們對(duì)實(shí)際問題的解決能力,即運(yùn)用所學(xué)的知識(shí)對(duì)問題進(jìn)行分析:了解問題的基本要求,怎樣將實(shí)際問題轉(zhuǎn)化成學(xué)科語言的輸入輸出,要用到什么知識(shí)來存儲(chǔ)信息。</p><p> 雖然這次的課程設(shè)計(jì)有點(diǎn)困難,在網(wǎng)上借鑒了部分代碼的情況下做的還是不夠完美,有很多的基本算法思想還不是很理解,但是我沒有放棄,讓我學(xué)會(huì)怎樣在遇到困難的時(shí)候去解決問題,去堅(jiān)持。同時(shí)也讓我感受到了數(shù)據(jù)結(jié)構(gòu)的樂趣,堅(jiān)定了我學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的決心。</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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--家族關(guān)系查詢系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-- 家族關(guān)系查詢系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-學(xué)生成績查詢系統(tǒng)
- 《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)》航班查詢系統(tǒng)實(shí)驗(yàn)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----huffman編碼
- 數(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ì)--航班信息查詢與檢索系統(tǒng)
- 數(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)相關(guān)算法的演示系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)
評(píng)論
0/150
提交評(píng)論