軟件技術(shù)基礎(chǔ)實(shí)驗(yàn)指導(dǎo)書(shū)6

軟件技術(shù)基礎(chǔ)實(shí)驗(yàn)指導(dǎo)書(shū)6

ID:46892582

大小:192.50 KB

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

時(shí)間:2019-11-28

軟件技術(shù)基礎(chǔ)實(shí)驗(yàn)指導(dǎo)書(shū)6_第1頁(yè)
軟件技術(shù)基礎(chǔ)實(shí)驗(yàn)指導(dǎo)書(shū)6_第2頁(yè)
軟件技術(shù)基礎(chǔ)實(shí)驗(yàn)指導(dǎo)書(shū)6_第3頁(yè)
軟件技術(shù)基礎(chǔ)實(shí)驗(yàn)指導(dǎo)書(shū)6_第4頁(yè)
軟件技術(shù)基礎(chǔ)實(shí)驗(yàn)指導(dǎo)書(shū)6_第5頁(yè)
資源描述:

《軟件技術(shù)基礎(chǔ)實(shí)驗(yàn)指導(dǎo)書(shū)6》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。

1、軟件技術(shù)基礎(chǔ)實(shí)驗(yàn)指導(dǎo)書(shū)主編:張志文易茗盧小勇2006年3月改編實(shí)驗(yàn)一線(xiàn)性表的基本運(yùn)算一、實(shí)驗(yàn)?zāi)康模?1)理解線(xiàn)性表的基本概念、特點(diǎn)和抽象數(shù)據(jù)類(lèi)型。(2)創(chuàng)建鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)線(xiàn)性表,實(shí)現(xiàn)查找、插入、刪除等算法。(3)實(shí)現(xiàn)鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)線(xiàn)性表的遍歷算法。二、實(shí)驗(yàn)內(nèi)容:(1)用C語(yǔ)言編制單鏈表的初始化程序及主程序。(2)按尾接法創(chuàng)建單鏈表,單鏈表中含5個(gè)數(shù)據(jù)元索:'a','b','c',Q,匕',編制相應(yīng)的函數(shù)。(3)編制查找、插入、刪除等算法的函數(shù)。(4)編制鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)線(xiàn)性表的遍歷算法函數(shù)。(5)單步調(diào)試程序

2、:按Ctrl+F7鍵,在打開(kāi)的窗口中輸入觀(guān)察變量,如觀(guān)察p結(jié)點(diǎn)指針域的值輸入:p->nexto按F7鍵,單步執(zhí)行程序,紀(jì)錄單鏈表在創(chuàng)建、插入、刪除等操作時(shí)各結(jié)點(diǎn)的數(shù)據(jù)域及指針域的內(nèi)容,填入以下各表:創(chuàng)建鏈表:插入元索:節(jié)點(diǎn)序號(hào)數(shù)據(jù)域指針域節(jié)點(diǎn)序號(hào)數(shù)據(jù)域指針域112233445566刪除元素:查找元素:節(jié)點(diǎn)序號(hào)數(shù)據(jù)域指針域節(jié)點(diǎn)序號(hào)數(shù)據(jù)域指針域1122334455三、實(shí)驗(yàn)步驟:(1)編輯源程序,程序名為DLBCL、CPP:/*************DLBCLCPP************//*單鏈表數(shù)據(jù)

3、結(jié)構(gòu)處理*/#include(stdio.h)#include(stdlib.h)/*定義數(shù)據(jù)域的數(shù)據(jù)類(lèi)型*/typedefstructstudent/*定義一個(gè)與structstudent同類(lèi)型的變量elemtype*/{charname:}elemtype;/*定義單鏈表的數(shù)據(jù)元素,數(shù)據(jù)元素為抽象數(shù)據(jù)類(lèi)型*/structnodetypeelemtypedata;/*數(shù)據(jù)域structnodetypenext;/指針域*/};/*建立一個(gè)空表,初始化鏈表頭結(jié)點(diǎn)*/intinitl(structnod

4、etype**head){head=(structnodetype)malloc(sizeof(structnodetype));/*給頭結(jié)點(diǎn)分配一個(gè)內(nèi)存空間*//*并將頭結(jié)點(diǎn)指針指向該地址*/訐(*head==NULL)return0;(*head)->next=NULL;return1;/*若不成功,則返冋0*//*將頭結(jié)點(diǎn)的指針域初始化為*//*成功,返冋*//*以尾接法方式創(chuàng)建鏈表*/intcreatLl(structnodetype**head,elemtypea[],intn)struct

5、nodetype*p,*s;intj;訐(initl(head)==O)return0;p=*head;for(j=0;j<=n-l;++j)/*初始化鏈表頭結(jié)點(diǎn)*//*指針P指向鏈表頭*//*n個(gè)結(jié)點(diǎn),從0到n?l*/if((s=(structnodetype*)malloc(sizeof(structnodetype)))==NULL)retum0;s->data=a[j];s->next=NELL;p->next=s;p=s;/*為當(dāng)前結(jié)點(diǎn)分配一個(gè)內(nèi)存空間,并以s指向之*//*當(dāng)前結(jié)點(diǎn)數(shù)據(jù)域賦*

6、//*當(dāng)前結(jié)點(diǎn)指針域置為空*//*使P結(jié)點(diǎn)指針域指向當(dāng)前結(jié)點(diǎn)*//*調(diào)整P使之指向當(dāng)前結(jié)點(diǎn)*/return1;/*在鏈表中搜索x元素*/nodetype*searchL(structnodetype*head,elemtypex){structnodetype*p;p=head->next;/*p指向頭結(jié)點(diǎn)指針域指向的位置*/while(p!=NULL&&p->data.name!=x.name)/*如果p結(jié)點(diǎn)不為空或其數(shù)拯域不與搜*//*索x元素的數(shù)據(jù)域相等,則繼續(xù)查找*/p=p->next;/*p

7、扌旨向p結(jié)點(diǎn)指針域指向的位置,即下一個(gè)結(jié)點(diǎn)*/if(p!=NULL)printf(”%c",p=>data.name);ruturnp;}/*在鏈表中y元素前插入x元素*/intinsertL(structnodetype*head,elemtypex,elemtypey)structnodetype*p,*q,*s;q=head;p=head->next;while(p!=NULL&&p->data.name!=y.name)/*先找到y(tǒng)元素所在位置*/q=p;/*q,p指針后移*/p=p->n

8、ext;}/*循環(huán)結(jié)束后,q指向y元素結(jié)點(diǎn)或最后一個(gè)結(jié)點(diǎn),p指向y元素后一個(gè)結(jié)點(diǎn)或?yàn)镹ULL*/if((s=(structnodetype*)malloc(sizeof(structnodetype)))==NULL)return0;s->data=x;/*給新結(jié)點(diǎn)賦數(shù)據(jù)*/s-next=p;/*新結(jié)點(diǎn)指向P*/q?>next=s;return1;/*q結(jié)點(diǎn)指向新結(jié)點(diǎn)*//*刪除鏈表中X元素*/intdeleteL(structnodetype*head

當(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)系客服處理。