實(shí)驗(yàn)一線性表[鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)]

實(shí)驗(yàn)一線性表[鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)]

ID:1810741

大?。?0.50 KB

頁(yè)數(shù):4頁(yè)

時(shí)間:2017-11-13

實(shí)驗(yàn)一線性表[鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)]_第1頁(yè)
實(shí)驗(yàn)一線性表[鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)]_第2頁(yè)
實(shí)驗(yàn)一線性表[鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)]_第3頁(yè)
實(shí)驗(yàn)一線性表[鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)]_第4頁(yè)
資源描述:

《實(shí)驗(yàn)一線性表[鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)]》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。

1、實(shí)驗(yàn)一?線性表一.目的與要求本次實(shí)習(xí)的主要目的是為了使學(xué)生熟練掌握線性表的基本操作在順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)上的實(shí)現(xiàn),提高分析和解決問(wèn)題的能力。要求仔細(xì)閱讀并理解下列例題,上機(jī)通過(guò),并觀察其結(jié)果,然后獨(dú)立完成后面的實(shí)習(xí)題。二.例題[問(wèn)題描述]用鏈表形式存儲(chǔ)一個(gè)字符串,插入、刪除某個(gè)字符,最后按正序、逆序兩種方式輸出字符串。[輸入]初始字符串,插入位置,插入字符,刪除字符。[輸出]已建立鏈表(字符串),插入字符后鏈表,刪除字符后鏈表,逆轉(zhuǎn)后鏈表。[存儲(chǔ)結(jié)構(gòu)]采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)[算法的基本思想]建立鏈表:當(dāng)讀入字符不是結(jié)束符時(shí),給結(jié)點(diǎn)分配存儲(chǔ)空間,寫(xiě)數(shù)據(jù)域,將新結(jié)點(diǎn)插到表尾;插入字符:根據(jù)讀入的字

2、符在鏈表中找插入位置,將新結(jié)點(diǎn)插入到該位置之前;刪除字符:根據(jù)讀入的刪除字符在鏈表中找到被刪結(jié)點(diǎn)后,將其從鏈表中刪除;鏈表逆轉(zhuǎn):從鏈表的第一個(gè)結(jié)點(diǎn)開(kāi)始對(duì)所有結(jié)點(diǎn)處理,將每個(gè)結(jié)點(diǎn)的前驅(qū)變?yōu)樗暮罄^;打印鏈表:從鏈表的第一個(gè)結(jié)點(diǎn)開(kāi)始,依次打印各個(gè)結(jié)點(diǎn)的數(shù)據(jù)域。[參考源程序]#defineNULL0typedefstructnode{???chara;???structnode*link;}node,*nodelink;voidreadlink(nodelinkhead){???nodelinkp,q;???charc;???p=head;???printf("Inputalinktable(ast

3、ring):");???scanf("%c",&c);???if(c=='')printf("Thisstringisempty。");???while(c!=''){??????q=(nodelink)malloc(sizeof(node));??????q->a=c;??????p->link=q;??????p=q;??????scanf("%c",&c);????}???p->link=NULL;}voidwritelink(nodelinkhead){???nodelinkq;???if(head->link==NULL)printf("Thislinkisempty。"

4、);???for(q=head->link;q;q=q->link)??????printf("%c",q->a);???printf("");???}int?insert(nodelinkhead,chark1,chark2){???nodelinkp,q;???p=head->link;???while(p->a!=k1&&p)??????p=p->link;???if(p){??????q=(nodelink)malloc(sizeof(node));??????q->a=k2;??????q->link=p->link;??????p->link=q;??????return1;?

5、???}???else?{??????printf("Thereisno%c",k1);??????return0;?????}}int?delete(nodelinkhead,chark){???nodelinkp,q;???q=head;???p=head->link;???while(((p->a)!=k)&&p){??????q=q->link;??????p=p->link;????}???if(p){??????q->link=p->link;??????return1;??????}???else{??????printf("Thereisno%c",k);??????r

6、eturn0;????}}voidopside(nodelinkhead){???nodelinkp,q;???p=head->link;???while(p->link){??????q=p->link;??????p->link=q->link;??????q->link=head->link;??????head->link=q;????}}main(){???chark1,k2,k3;???nodelinkhead;???head=(nodelink)malloc(sizeof(node));???head->link=NULL;???readlink(head);???if(head

7、->link!=NULL){???printf("Buildlinkis:");???writelink(head);}???if(head->link!=NULL){???printf("Pleaseinputacharyouwanttoinsertafter:");???k1=getch();???printf("%c",k1);???printf("Pleaseinputacharyou

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。