版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文格式為Word版,下載可任意編輯——C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)鏈表逆序并輸出C語(yǔ)言數(shù)據(jù)布局實(shí)現(xiàn)鏈表逆序并輸出
將一個(gè)鏈表逆序并輸出??梢杂脙煞N方法來實(shí)現(xiàn),第一種是借助了一個(gè)新的空鏈表;其次種是在原來鏈表的根基上直接實(shí)現(xiàn)逆序。下面我?guī)Т蠹乙黄饋砜纯醇?xì)致內(nèi)容,夢(mèng)想對(duì)大家有所扶助!想了解更多相關(guān)信息請(qǐng)持續(xù)關(guān)注我們我!
實(shí)例代碼:
頭文件:
#includestdio.h
#includestdlib.h
#includemalloc.h
typedefintElemType;
typedefstructNode
//結(jié)點(diǎn)布局
ElemTypevalue;//值域
structNode*next;//指針域
Node,*ptr_Node;
typedefstructLinkList
//鏈表布局
ptr_Nodehead;//鏈表頭結(jié)點(diǎn)指針
ptr_Nodetail;//鏈表尾結(jié)點(diǎn)指針
intlength;//鏈表長(zhǎng)度
LinkList,*ptr_LinkList;
ptr_LinkListCreateListvoid
//創(chuàng)造一個(gè)空鏈表
ptr_LinkListlinklist;
linklist=LinkList*mallocsizeofLinkList;
if!linklist
printfallocationfailed.\n;
linklist-head=NULL;
linklist-tail=NULL;
linklist-length=0;
returnlinklist;
boolIsListEmptyptr_LinkListlinklist
//判斷鏈表是否為空
iflinklist-length==0
returntrue;
returnfalse;
voidInsertListHeadptr_LinkListlinklist,ElemTypeelement
//在表頭插入值為element的結(jié)點(diǎn)作為新的表頭
ptr_Nodeptr_node;
ptr_node=Node*mallocsizeofNode;//生成插入結(jié)點(diǎn)
if!ptr_node
printfallocationfailed.\n;
else
ptr_node-value=element;
iflinklist-length==0
linklist-head=ptr_node;
linklist-tail=linklist-head;
linklist-tail-next=NULL;
else
ptr_node-next=linklist-head;
linklist-head=ptr_node;//鏈表頭
linklist-length++;//鏈表長(zhǎng)度加1
voidInsertListTailptr_LinkListlinklist,ElemTypeelement
ptr_Nodeptr_node;
ptr_node=Node*mallocsizeofNode;//生成插入結(jié)點(diǎn)
if!ptr_node
printfallocationfailed.\n;
else
ptr_node-value=element;
iflinklist-length==0
linklist-head=ptr_node;
linklist-tail=linklist-head;
linklist-tail-next=NULL;
else
linklist-tail-next=ptr_node;
linklist-tail=ptr_node;//鏈表尾
linklist-length++;//鏈表長(zhǎng)度加1
voidInsertListPositionptr_LinkListlinklist,intpos,ElemTypeelement
inti;
ptr_Nodeptr_node;
ptr_Nodetemp_ptr_node;
ifpos1||poslinklist-length
printfTheinsertpositionisinvalidate.\n;
else
ptr_node=Node*mallocsizeofNode;//生成插入結(jié)點(diǎn)
if!ptr_node
printfallocationfailed.\n;
ptr_node-value=element;
ifpos==1
InsertListHeadlinklist,element;
elseifpos==linklist-length
InsertListTaillinklist,element;
else
temp_ptr_node=linklist-head;
fori=1;ipos-1;i++
//找到第pos-1個(gè)結(jié)點(diǎn)
temp_ptr_node=temp_ptr_node-next;
ptr_node-next=temp_ptr_node-next;
temp_ptr_node-next=ptr_node;
linklist-length++;
voidDestroyptr_LinkListlinklist
//銷毀鏈表
ptr_Nodep=linklist-head;
ptr_Nodeq;
whilep
//釋放每個(gè)結(jié)點(diǎn)空間
q=p-next;
freep;
p=NULL;
p=q;
voidTraverseptr_LinkListlinklist
//輸出整個(gè)鏈表
ptr_Nodep;
p=linklist-head;
whilep
printf%4d,p-value;
p=p-next;
頭文件中實(shí)現(xiàn)了鏈表的幾個(gè)根本的操作,有的是務(wù)必的,有些是非務(wù)必的。
實(shí)現(xiàn)代碼:
#includestdafx.h
#includeLinkList.h
#includeconio.h
ptr_LinkListInvertListptr_LinkListlist
//該方法借助一個(gè)新的'空鏈表來實(shí)現(xiàn)鏈表逆序
ptr_LinkListinverted_linklist;
ptr_Nodep;
p=list-head;
inverted_linklist=CreateList;//創(chuàng)造一個(gè)空鏈表
whilep
//將list鏈表中的結(jié)點(diǎn)值逆序輸入新創(chuàng)造的鏈表中,實(shí)現(xiàn)鏈表反轉(zhuǎn)
InsertListHeadinverted_linklist,p-value;
p=p-next;
returninverted_linklist;
voidInvertLinkListptr_LinkListlinklist
//該方法直接對(duì)原有鏈表實(shí)現(xiàn)逆序,不借助其他鏈表
ptr_Nodep,q,r,m;
m=p=linklist-head;
q=p-next;
r=q-next;
whiler
//依次對(duì)鏈表中的結(jié)點(diǎn)舉行反轉(zhuǎn)
q-next=p;
p=q;
q=r;
r=r-next;
q-next=p;//結(jié)果一個(gè)結(jié)點(diǎn)反轉(zhuǎn)
linklist-head=q;
linklist-tail=m;
linklist-tail-next=NULL;
int_tmainintargc,_TCHAR*argv[]
ptr_LinkListlinklist;
ptr_LinkListlist;
linklist=CreateList;
iflinklist
printfWehavecreatedanewlinklist.\n;
InsertListHeadlinklist,12;
InsertListHeadlinklist,35;
InsertListHeadlinklist,66;
InsertListHeadlinklist,06;
InsertListHeadlinklist,11;
InsertListHeadlinklist,54;
InsertListHeadlinklist,79;
Traverselinklist;
printf\n;
printfThefirstmethod:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 六盤水職業(yè)技術(shù)學(xué)院《學(xué)科論文寫作指導(dǎo)》2023-2024學(xué)年第一學(xué)期期末試卷
- 金陵科技學(xué)院《建筑師業(yè)務(wù)與法規(guī)》2023-2024學(xué)年第一學(xué)期期末試卷
- 新蘇教版一年級(jí)下冊(cè)數(shù)學(xué)第1單元第4課時(shí)《十幾減8、7》作業(yè)
- 懷化職業(yè)技術(shù)學(xué)院《高級(jí)電子系統(tǒng)設(shè)計(jì)(FPGA)》2023-2024學(xué)年第一學(xué)期期末試卷
- 【物理】第九章 壓強(qiáng) 單元練習(xí)+2024-2025學(xué)年人教版物理八年級(jí)下冊(cè)
- 菏澤醫(yī)學(xué)??茖W(xué)?!恫捎凸こ屉p語(yǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 淄博師范高等??茖W(xué)?!妒秤镁飳W(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江音樂學(xué)院《社會(huì)行政》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江工業(yè)大學(xué)《古代西方哲學(xué)史》2023-2024學(xué)年第一學(xué)期期末試卷
- 常見水的分類
- 2024-2025學(xué)年新教材高中數(shù)學(xué)第八章立體幾何初步8.6.2直線與平面垂直一同步練習(xí)含解析新人教A版必修第二冊(cè)
- 漢語(yǔ)拼音默寫表及拼讀專練
- 肌力的評(píng)定與護(hù)理
- 工業(yè)機(jī)器人論文3000字(合集4篇)
- 【中小企業(yè)融資難問題探究的國(guó)內(nèi)外綜述5800字】
- DL∕T 2138-2020 電力專利價(jià)值評(píng)估規(guī)范
- 深圳市購(gòu)物中心租金調(diào)查
- 我國(guó)無菌包裝行業(yè)消費(fèi)量已超千億包-下游需求仍存擴(kuò)容潛力
- 大數(shù)據(jù)管理與考核制度大全
- 大學(xué)面試后感謝信
- 2022屆上海高考語(yǔ)文調(diào)研試測(cè)卷詳解(有《畏齋記》“《江表傳》曰…”譯文)
評(píng)論
0/150
提交評(píng)論