freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)演示系統(tǒng)1與3介紹-資料下載頁(yè)

2025-06-17 16:51本頁(yè)面
  

【正文】 式匹配菜單選擇錯(cuò)誤的菜單選擇順序,順序表中錯(cuò)誤的菜單選擇,單鏈表錯(cuò)誤的菜單選擇,串的模式匹配錯(cuò)誤的長(zhǎng)度選擇,順序表中順序表中,插入錯(cuò)誤的范圍順序表中,錯(cuò)誤的刪除范圍順序表中錯(cuò)誤的查找范圍順序表中錯(cuò)誤的有序合并,沒(méi)有按非遞減輸入數(shù)字,系統(tǒng)部報(bào)錯(cuò),但結(jié)果不正確單鏈表中,錯(cuò)誤的建立方式單鏈表錯(cuò)誤的插入與查詢鏈表錯(cuò)誤的刪除方式鏈表錯(cuò)誤的合并方式,鏈表應(yīng)該是非遞減輸入,若不是非遞減,系統(tǒng)不保錯(cuò),但得不到正確結(jié)果串的模式匹配,錯(cuò)誤的長(zhǎng)度輸入串的模式匹配,主串錯(cuò)誤的長(zhǎng)度第六章 課程設(shè)計(jì)總結(jié) 個(gè)人的體會(huì)和感想經(jīng)過(guò)這兩個(gè)星期的課程設(shè)計(jì),我確實(shí)學(xué)到了很多東西。身為計(jì)算機(jī)專業(yè)的學(xué)生,在編程方面我一直都很弱。在學(xué)《數(shù)據(jù)結(jié)構(gòu)的時(shí)候》,我感覺(jué)書上的代碼很難看懂。學(xué)習(xí)過(guò)程中也只學(xué)到了數(shù)據(jù)結(jié)構(gòu)的思想,對(duì)于寫程序,還是一件很頭疼的事情。 這次數(shù)據(jù)機(jī)構(gòu)課程設(shè)計(jì),老師布置的題目非常好,內(nèi)容豐富其與我們所學(xué)的知識(shí)密切相關(guān)數(shù)據(jù)結(jié)構(gòu)演示系統(tǒng)。最開始拿到題目,心理面還很后怕,因?yàn)檫@些程序我一個(gè)也沒(méi)有寫過(guò)。那沒(méi)辦法,只能夠硬去看書找資料去寫了。我又重頭開始看數(shù)據(jù)結(jié)構(gòu)者本書,慢慢發(fā)現(xiàn)其中的內(nèi)容都是相關(guān)聯(lián)的。前面有很多預(yù)定義常量,也有很多預(yù)定的數(shù)據(jù)類型。并且發(fā)現(xiàn)其中的抽象數(shù)據(jù)類型很好的表達(dá)了算法。一邊看注釋,一遍看代碼。我漸漸發(fā)現(xiàn)那些算法的表達(dá)的意思很不錯(cuò)。當(dāng)我看完前幾章時(shí),發(fā)現(xiàn)真的很不錯(cuò)的書。邊看是慢慢寫程序了。我一邊寫程序,一邊看書,不知不覺(jué),幾天就過(guò)去了。我又發(fā)現(xiàn)一本數(shù)的代碼可能不夠,我又到圖書館借了幾本與數(shù)據(jù)結(jié)構(gòu)有關(guān)的書籍。結(jié)合上面的代碼,終于寫完了所有的算法。編譯沒(méi)有錯(cuò)誤,也沒(méi)有警告。但最后運(yùn)行時(shí),一到關(guān)鍵地方,電腦就顯示內(nèi)存無(wú)法寫入或者讀取。當(dāng)時(shí)圍繞這個(gè)問(wèn)題想了一整天也解決不了。現(xiàn)在看來(lái),這是一種知識(shí)結(jié)構(gòu)的欠缺。就是一個(gè)傳遞參數(shù)的符號(hào)問(wèn)題。一直以來(lái)我學(xué)的都是學(xué)校教的課程,自己課后并沒(méi)有再深入研究C語(yǔ)言。所以稍微深一些的知識(shí)就能夠讓我無(wú)法逾越??磥?lái)課后多看書擴(kuò)張自己的知識(shí)面還是大有裨益。 學(xué)數(shù)據(jù)結(jié)構(gòu),我感覺(jué)自己對(duì)這種思想的掌握很不錯(cuò)。由此我產(chǎn)生了把它全部實(shí)現(xiàn)的沖動(dòng)。做第三個(gè)演示系統(tǒng)是,成功感明顯高于第一個(gè)。因?yàn)榈谌齻€(gè)系統(tǒng)主要是排序,以前都是用自己的大腦想的,并沒(méi)有向著怎么實(shí)現(xiàn)它。后來(lái)一個(gè)個(gè)排序都被我用程序搞定了??粗惶颂说呐判颍闹凶匀皇菬o(wú)比的高興。 兩個(gè)星期編寫了將近兩千行的代碼,一般的程序調(diào)試小問(wèn)題自然能夠搞定了。自己看代碼也比以前順暢多了,這是多練習(xí)的結(jié)果。以后沒(méi)課程設(shè)計(jì)了,還是要每天堅(jiān)持寫程序。這樣才能保持自己的程序設(shè)計(jì)能力。附錄A 數(shù)據(jù)結(jié)構(gòu)演示系統(tǒng)1 運(yùn)行環(huán)境是Visual C++,用C語(yǔ)言編寫。include include include define MaxSize 100//最大的空間define TRUE 1 define FALSE 0define OK 1define ERROR 0define INFEASIBLE 1define OVERFLOW 2define LIST_INIT_SIZE 100 //初始化的容量define LISTINCREMENT 10/*新增加空間時(shí)的容量*/define MAXSTRLEN 255 /*字符串的最大長(zhǎng)度*/typedef unsigned char SString[MAXSTRLEN +1]。/*字符串的數(shù)據(jù)類型*/typedef int Status。typedef int ElemType。typedef struct{ ElemType *elem。 int length。 int listsize。 }SqList。/*順序表的數(shù)據(jù)類型*/typedef struct LNode{ ElemType data。 struct LNode *next。}LNode,*LinkList。/*單鏈表的數(shù)據(jù)類型*/ void CreateList_L(LinkList amp。L,int n){ //順位序輸入n個(gè)元素的值,建立帶頭結(jié)點(diǎn)的單鏈表L LinkList s,r。 int i。 L=(LinkList)malloc(sizeof(LNode))。//開辟一個(gè)新的空間 r=L。 if(n1){ //長(zhǎng)度要大于等于1 printf(長(zhǎng)度有問(wèn)題\n)。 return。 } for(i=1。i=n。i++) { s=(LinkList)malloc(sizeof(LNode))。/*開辟一個(gè)新的空間*/ printf(輸入你要插入第%d個(gè)數(shù):,i)。 scanf(%d,amp。sdata)。/*給該節(jié)點(diǎn)賦值*/ rnext=s。 /*把新的節(jié)點(diǎn)連接到表尾*/ r=s。 /*r指向表尾*/ } rnext=NULL。//尾指針的next為空}//CreateList_LStatus ListInsert_L(LinkList amp。L,int i,ElemType e){ //在帶頭結(jié)點(diǎn)的單鏈表L中第i個(gè)位置之前插入元素eLinkList s,p=L。 int j=0。while(pamp。amp。ji1){ //尋找第i1個(gè)結(jié)點(diǎn) p=pnext。 //p指向下一個(gè)節(jié)點(diǎn) ++j。}if(!p||ji1){ printf(第%4d節(jié)點(diǎn)不存在\n,i)。 //p為空,或者i小于1或者大于表長(zhǎng)加1 return ERROR。}s=(LinkList)malloc(sizeof(LNode))。//生成新的結(jié)點(diǎn)sdata=e。snext=pnext。 //插入L中,使s成為第i個(gè)結(jié)點(diǎn)pnext=s。printf(插入成功!\n)。return OK。}//ListInsert_Lint LocateElem_L(LinkList L,ElemType e){ /**在單鏈表L中從頭開始找第1個(gè)值域與e相等的節(jié)點(diǎn), *若存在這樣的節(jié)點(diǎn),則返回位置,并打印該結(jié)點(diǎn)的值 */ LinkList p=Lnext。 int i=1。 while(p!=NULLamp。amp。pdata!=e) /*p沒(méi)有指向表尾,并且沒(méi)有找到元素e*/ { p=pnext。/*p指向下一個(gè)結(jié)點(diǎn)*/ i++。 }//while if(p==NULL){ //找到表尾,沒(méi)有找到元素e printf(這個(gè)數(shù)值%d不存在,e)。 return NULL。 } else{ printf(你所查詢的數(shù)%d是第%d個(gè),e,i)。 return (i)。 }}//LocateElem_LStatus GetElem_L(LinkList L,int i,ElemType amp。e){ //L為帶頭結(jié)點(diǎn)的單鏈表的頭指針 //當(dāng)?shù)趇個(gè)元素存在時(shí),其值賦給e并返回OK,否者返回ERRORLNode *p。ElemType j。p=Lnext。j=1。while(pamp。amp。ji){/*尋找第i個(gè)元素*/ p=pnext。 ++j。}if(!p||ji){ //i小于1或者大于表長(zhǎng) printf(第%4d個(gè)元素不存在,i)。 return ERROR。}e=pdata。 /*找到地i個(gè)元素,并賦給e*/printf(第%4d元素為%4d,i,e)。return OK。}//GetElem_LStatus ListDelete_L(LinkList amp。L, int i, ElemType amp。e){ //在帶頭結(jié)點(diǎn)的單鏈線性表L中,刪除第i個(gè)元素,并由e返回其值 LinkList q,p=L。 int j=0。 while(pnextamp。amp。ji1)//尋找第i個(gè)結(jié)點(diǎn),并令p指向其前驅(qū) { p=pnext。 /*p指向下一個(gè)節(jié)點(diǎn)*/ ++j。 } if(!(pnext)||ji1){ /**/ printf(刪除位置不合理!\n)。 return ERROR。 } q=pnext。 pnext=qnext。 //刪除第i個(gè)結(jié)點(diǎn) e=qdata。 //把該節(jié)點(diǎn)的值賦給e free(q)。 /*釋放已刪結(jié)點(diǎn)的空間*/ printf(刪除%d成功!\n,e)。 return OK。}//ListDeleteint ListLength_L(LinkList L){ LinkList p=L。 int i=0。 while(pnext!=NULL)/*當(dāng)p不為空*/ { i++。 /*i就加1*/ p=pnext。 }//while return (i)。}//ListLength_Lvoid print_L(LinkList head){ LinkList p=headnext。 while(p!=NULL){ /*p不為空*/ printf(%5d,pdata )。 p=pnext。 /*p指向下一個(gè)結(jié)點(diǎn)*/ } printf(\n)。}//print_Lvoid MergeList_L(LinkList amp。La,LinkList amp。Lb,LinkList amp。Lc){ //已知單鏈表La和Lb的元素按值非遞減排列 //歸并La和Lb得到新單鏈表Lc,Lc的元素也按值非遞減排列LinkList pa,pb,pc。//定義三個(gè)指針,前兩個(gè)指向La和Lb的nextpa=Lanext。 /*后面的就指向La*/pb=Lbnext。Lc=pc=La。while(paamp。amp。pb){ if(padata=pbdata){ pcnext=pa。 /*pa指向的節(jié)點(diǎn)值小,就把該連到Lc中*/ pc=pa。 /*pc指最新連入的節(jié)點(diǎn)*/ pa=panext。 /*pa指向下一個(gè)節(jié)點(diǎn)*/ } else{pcnext=pb。/*pb指向的節(jié)點(diǎn)值小,就把該連到Lc中*/ pc=pb。 /*pc指最新連入的節(jié)點(diǎn)*/ pb=pbnext。/*pb指向下一個(gè)節(jié)點(diǎn)*/ }} pcnext=pa?pa:pb。 /*指向不為空的那個(gè)結(jié)點(diǎn)*/ free(Lb)。 /*釋放Lb的空間*/}//MergeList_Lvoid get_next(SString T,int next[]){ //求模式串T的next函數(shù)值并存入數(shù)組next. int i=1,j。 next[1]=0。 /*1的next是0*/ j=0。 while(iT[0]){ if(j==0||T[i]==T[j]){ ++i。 ++j。 next[i]=j。/*前后相等或者j為0的時(shí)候,就把j賦給next*/ } else j=next[j]。 /*不相等就要返回,把next賦給j*/ }}//get_nextvoid get_nextval(SString T,int nextval[]){ //求模式串T的next函數(shù)修正值并存入數(shù)組nextval int i=1,j=0。 nextval[1]=0。 while(iT[0]){ if(j==0||T[i]==T[j]){ /*1的nextval是0*/ ++i。 /*i和j各加1*/ ++j。 if(T[i]!=T[j]) nextval[i]=j。 /*字符串不相等,就上一次的j賦給nextval*/ else nextval[i]=nextval[j]。 /*相等的話就把前一個(gè)nextval的值賦給這個(gè)*/ }//if else j=nextval[j]。/*若不相等的話,就可以吧nextval賦給j*/ }//while }//get_nextvalint Index_KMP(SString S,SString T,int amp。pos, int nextval[]){//利用模式串T的next函數(shù)求T在主串中第pos個(gè)字符之后// 的位置的KMP算法。其中,T非空,1=pos=StrLength(S) int i=pos。 int j=1,k=1。 while(i=S[0]amp。amp。j=T[0]){ //T為非空串。若主串中第pos個(gè)字符之后存在與T相等的子串 //則返回第一個(gè)這樣的子串在S中的位置,否則返回0 if(j==0||S[i]==T[j]){ /*兩個(gè)字符相等,則繼續(xù)向后匹配*/ ++i。++
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1