實驗一線性表[鏈式存儲結(jié)構(gòu)]

實驗一線性表[鏈式存儲結(jié)構(gòu)]

ID:11349997

大小:40.50 KB

頁數(shù):4頁

時間:2018-07-11

實驗一線性表[鏈式存儲結(jié)構(gòu)]_第1頁
實驗一線性表[鏈式存儲結(jié)構(gòu)]_第2頁
實驗一線性表[鏈式存儲結(jié)構(gòu)]_第3頁
實驗一線性表[鏈式存儲結(jié)構(gòu)]_第4頁
資源描述:

《實驗一線性表[鏈式存儲結(jié)構(gòu)]》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

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

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

3、alinktable(astring):");???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

4、("Thislinkisempty。");???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;???

5、???p->link=q;??????return1;????}???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{????

6、??printf("Thereisno%c",k);??????return0;????}}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));???he

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

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

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

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