版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
本文格式為Word版,下載可任意編輯——C語言實現(xiàn)單鏈表逆置什么單鏈表的逆置
問題描述
設(shè)計一個程序,實現(xiàn)單鏈表的逆置。
一、需求分析
⑴按程序提醒輸入并創(chuàng)立一個單鏈表,帶有頭結(jié)點⑵可自定義鏈表的長度,可自定義鏈表儲存的數(shù)據(jù)類型,注意更改相應(yīng)的輸入輸出方式⑶實現(xiàn)單鏈表的逆置,直觀地輸出結(jié)果
二、概要設(shè)計
為實現(xiàn)上述程序功能,需創(chuàng)立以下抽象數(shù)據(jù)類型:
ADTLinkList{
數(shù)據(jù)對象:D={ai|ai∈(0,1,…,9),i=0,1,2,…,n,n≥0}數(shù)據(jù)關(guān)系:R={|ai-1,ai∈D,i=1,2,…,n}基本操作:InitList(//函數(shù)狀態(tài)類型
typedefintElemType;//元素類型
typedefstructnode{
ElemTypedata;structnode*next;
}Node,*LinkList;//節(jié)點類型、
2.基本操作和所需調(diào)用的函數(shù)
//初始化一個鏈表
StatusInitList(LinkList*L){
*L=(LinkList)malloc(sizeof(node));if(!(*L))exit(-2);//內(nèi)存分派失敗(*L)->next=NULL;return1;}
//在初始化的基礎(chǔ)上按順序創(chuàng)立一個鏈表StatusCreatList(LinkListL,intn){
LinkListp=L;inti;
for(i=0;inext)=(LinkList)malloc(sizeof(node));if(!(p->next))exit(-2);//內(nèi)存分派失敗scanf(\p=p->next;}
p->next=NULL;return1;}
//依次輸出單鏈表中的各個元素StatusDisplayList(LinkListL){
LinkListp;p=L->next;while(p){
printf(\p=p->next;
}
printf(\return1;}
//逆置1(遞歸方法)
LinkListIeverse(LinkListpre,LinkListcur){
LinkListhead;if(!cur)
returnpre;
head=Ieverse(cur,cur->next);cur->next=pre;returnhead;}
//逆置2(就地逆置)
StatusIeverse(LinkListL){
LinkListlast=L->next;LinkListfirst;while(last->next){
first=L->next;L->next=last->next;
last->next=L->next->next;L->next->next=first;}
return1;}
3.主函數(shù)及功能的實現(xiàn)voidmain(){
LinkListL;intL_Length;
InitList(//初始化鏈表
printf(\請輸入單鏈表的長度:\\n\scanf(\
if(L_Lengthnext=Ieverse(NULL,L->next);此語句可調(diào)用遞歸方法實現(xiàn)鏈表的逆置//Ieverse(L);//實現(xiàn)單鏈表的就地逆置printf(\DisplayList(L);//顯示逆置后的鏈表}
四、調(diào)試分析
本程序的基本框架比較簡單,整個運行過程主要分為五個部分:主程序模塊(接受鏈表的信息)->創(chuàng)立鏈表模塊(初始化鏈表,即創(chuàng)立一個僅含頭結(jié)點的空鏈表;按主程序模塊接受的元素信息創(chuàng)立鏈表)->輸出單鏈表模塊(按一定格式輸出原始鏈表)->單鏈表逆置模塊(可通過兩種方式實現(xiàn))->輸出鏈表模塊(按一定格式輸出逆置后的鏈表)。
對于單鏈表的逆置,我想到了兩種方法來實現(xiàn)。第一種為遞歸的方式,但在每一次遞歸調(diào)用時均需創(chuàng)立一個額外的節(jié)點,因此空間利用率較低,算法效率低,同時對于參數(shù)的傳入也應(yīng)特別防備;其次種方式為就地逆置,需要額外的兩個輔助節(jié)點,時間繁雜度為O(L_Length),相比遞歸算法更為高效。開始編寫程序時,混淆了一些函數(shù)參數(shù)的確定,對于傳值和傳址地方的概念區(qū)分的不明白,導(dǎo)致調(diào)試程序是花費了好多的時間。今后應(yīng)重視對參數(shù)的屬性的區(qū)分和認(rèn)識。
五、用戶使用說明
依照程序提醒精心操作即可。
六、測試結(jié)果
測試時采用的數(shù)據(jù)類型為整形,若要使用其他數(shù)據(jù)類型,更改相應(yīng)的輸入輸出語句即可。測試結(jié)果如下:
⑴請輸入單鏈表的長度:3
請依次輸入各個元素的值:479
479Afterreversing!974
Pressanykeytocontinu⑵請輸入單鏈表的長度:6
請依次輸入各個元素的值:49361234
493612Afterreversing!
3412639Pressanykeytocontinue⑶請輸入單鏈表的長度:12
請依次輸入各個元素的值:135792468101315
135792468101315Afterreversing!
151310864297531Pressanykeytocontinue
經(jīng)過三組不同的數(shù)據(jù)測試,程序基本能夠?qū)崿F(xiàn)設(shè)計要求。
測試時采用的數(shù)據(jù)類型為整形,若要使用其他數(shù)據(jù)類型,更改相應(yīng)的輸入輸出語句即可。測試結(jié)果如下:
⑴請輸入單鏈表的長度:3
請依次輸入各個元素的值:479
479Afterreversing!974
Pressanykeytocontinu⑵請輸入單鏈表的長度:6
請依次輸入各個元素的值:49361234
493612Afterreversing!
3412639Pressanykeytocontinue⑶請輸入單鏈表的長度:12
請依次輸入各個元素的值:135792468101315
135792468
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中心校安全制度
- 校園安全搜查線課件
- 2026年雄安未來產(chǎn)業(yè)技術(shù)研究院(事業(yè)單位)招聘44人備考題庫及答案詳解一套
- 2026年泰和縣教育體育局所屬事業(yè)單位競爭性選調(diào)工作人員的備考題庫及一套完整答案詳解
- 2026中國硅酸鈉熔模鑄造行業(yè)發(fā)展動態(tài)與供需趨勢預(yù)測報告
- 2025-2030中國特種潤滑油市場發(fā)展對策分析與競爭戰(zhàn)略規(guī)劃研究報告
- 2025-2030中國塑身衣市場營銷渠道與投資戰(zhàn)略可行性研究報告
- 2025至2030中國光伏儲能一體化產(chǎn)業(yè)市場供需及投資風(fēng)險評估報告
- 2025-2030中國陶瓷茶具產(chǎn)業(yè)營銷趨勢與投資價值研究分析研究報告
- 工信廳安全職責(zé)培訓(xùn)課件
- 離婚協(xié)議標(biāo)準(zhǔn)版(有兩小孩)
- 浙江省臺州市路橋區(qū)2023-2024學(xué)年七年級上學(xué)期1月期末考試語文試題(含答案)
- 假體隆胸后查房課件
- 2023年互聯(lián)網(wǎng)新興設(shè)計人才白皮書
- DB52-T 785-2023 長順綠殼蛋雞
- c語言知識點思維導(dǎo)圖
- 關(guān)于地方儲備糧輪換業(yè)務(wù)會計核算處理辦法的探討
- GB/T 29319-2012光伏發(fā)電系統(tǒng)接入配電網(wǎng)技術(shù)規(guī)定
- GB/T 1773-2008片狀銀粉
- GB/T 12007.4-1989環(huán)氧樹脂粘度測定方法
- (完整版)北京全套安全資料表格
評論
0/150
提交評論