




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼--#-數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16頁,當(dāng)前為第1頁。數(shù)據(jù)結(jié)構(gòu)順序表的主要代碼數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16頁,當(dāng)前為第1頁。/***有頭結(jié)點(diǎn)的單鏈表的初始化、建立(表頭插入、表尾插入) 、求長度、插入、刪除、輸出 ***//***********單鏈表的初始化、建立、輸出 *****************//***********#include<stdio.h>#include<stdlib.h>typedefstructLnode{/*定義線性表的單鏈表存儲(chǔ)結(jié)構(gòu) */intdata;structLnode*next;}LinkList;/****************單鏈表的初始化*************************//****************單鏈表的初始化*************************/Initlist(LinkList*L){/*動(dòng)態(tài)申請(qǐng)存儲(chǔ)空間 */L=(LinkList*)malloc(sizeof(structLnode));/*建立頭結(jié)點(diǎn) */L->next=NULL;}***************//*************建立一個(gè)帶頭結(jié)點(diǎn)的單鏈表,在表尾插入***************/Create_L(LinkList*L,intn){LinkList*p,*q;inti;Initlist(L);/*單鏈表初始化 */q=L;printf("inputthevalue\n");for(i=n;i>0;--i){p=(LinkList*)malloc(sizeof(structLnode));scanf("%d",&p->data);/*輸入元素值 */q->next=p;p->next=NULL;q=p;/*插入到表尾 */}}/*Create_L*//*************建立一個(gè)帶頭結(jié)點(diǎn)的單鏈表,在表頭插入Create_L(LinkList*L,intn){LinkList*p;inti;
數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16頁,當(dāng)前為第2數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16頁,當(dāng)前為第2頁。/*需要注意第一個(gè)數(shù)據(jù)插入時(shí)的情況/*InserttheFirsetnodep=(LinkList*)malloc(sizeof(structLnode));printf("inputthevalue\n");scanf("%d",&p->data); /*輸入元素值L->next=p;p->next=NULL;/*將第二個(gè)及后面的數(shù)據(jù)插入for(i=n-1;i>0;--i){p=(LinkList*)malloc(sizeof(structLnode));printf("inputavalue\n");scanf("%d",&p->data);/*輸入元素值p->next=L->next;L->next=p;/*插入到表頭}求單鏈表的長度 ***********************/}/*求單鏈表的長度 ***********************//*************************intLength_LinkList(LinkList*L){LinkList*p;inti=0;p=L->next;while(p!=NULL){i++;p=p->next;}returni;}/*Length_LinkList*//*************************在第i個(gè)結(jié)點(diǎn)前插入數(shù)據(jù)x*********************/Insert_LinkList(LinkList*L,inti,intx){LinkList*p,*s;intj=0;p=L;/*尋找第i個(gè)結(jié)點(diǎn)*/while(j<i-1&&p!=NULL)
數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16頁,當(dāng)前為第3頁。p=p->next;}if(!p)return0;/*如果表長小于 i,則無意義 *//*插入元素 x*/s=(LinkList*)malloc(sizeof(structLnode));s->data=x;s->next=p->next;p->next=s;刪除第刪除第i個(gè)元素,并用將其值返回 **********************intDelete_LinkList(LinkList*L,inti){LinkList*p,*q;inty;intj=0;p=L;/*尋找第i個(gè)結(jié)點(diǎn)*/while(j<i-1&&p!=NULL){++j;p=p->next;}if(!p)return0;/*如果表長小于 i,則無意義 */q=p->next;y=q->data;p->next=q->next;free(q);returny;}/*Delete_LinkList*/****************/voiddisplay(LinkList*L) /*字母鏈表的輸出 */{LinkList*p;p=L->next;while(p!=NULL)printf("%d",p->data);p=p->next;/*************main(){LinkList*L;數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16頁,當(dāng)前為第4頁。intn=0;intx=15;inty;inti=4;L=(LinkList*)malloc(sizeof(structLnode));/*L->data=0;*/L->next=NULL;printf("inputthelengthofL,n\n");scanf("%d",&n);printf("\n");Create_L(L,n);Insert_LinkList(L,i,x);/*y=Delete_LinkList(L,i);printf("thedeleteelmentisy=%d\n",y);len=Length_LinkList(L);printf("thelengthofLis%d",len);*/display(L);getch();}
數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16頁,當(dāng)前為第數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16頁,當(dāng)前為第5頁。#include<stdio.h>#include<stdlib.h>typedefstructLnode{/*定義線性表的單鏈表存儲(chǔ)結(jié)構(gòu) */intdata;structLnode*next;}LinkList;/*************Create***************/Link_Creat(LinkList*L,intn){LinkList*q,*p;inti;printf("inputthedata\n");scanf("%d",&L->data);p=L;for(i=2;i<=n;i++){q=(LinkList*)malloc(sizeof(structLnode));scanf("%d",&q->data);p->next=q;q->next=NULL;p=q;}}/**************OutPut*********************/Link_Display(LinkList*L){LinkList*p;p=L;while(p!=NULL){printf("%d",p->data);p=p->next;}}/**Main()***//**Main()***/main(){數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16頁,當(dāng)前為第6頁。intn;L=(LinkList*)malloc(sizeof(structLnode));L->data=0;L->next=NULL;printf("PleaseinputthelengthofLinkList,n\n");scanf("%d",&n);Link_Creat(L,n);Link_Display(L);getch();}數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16頁,當(dāng)前為第7頁。/*********順序表的建立、查找、插入運(yùn)算數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16頁,當(dāng)前為第7頁。#include<stdio.h>#include<stdlib.h>typedefintdatatype;#definelist_maxsize20/*********definefornodestruct************/typedefstruct{datatypedata[list_maxsize];intlength;}SqList;/**********InitList/**********InitList************/voidInitList(SqList*L){L->length=0;}/*******CreatSqList********/voidCreate_SqList(SqList*L){inti=0;InitList(L);printf("inputSqList.data\n");scanf("%d",&L->data[0]);while(L->data[i]!=-1){++i;scanf("%d",&(L->data[i]));}L->length=i;}/*********thelengthofSqList****************/intListLength(SqList*L){returnL->length;}/************GetElemL->data[i]************/intGetElem(SqList*L,inti){if(i<1||i>L->length)數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16頁,當(dāng)前為第數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16頁,當(dāng)前為第8頁。}elsereturnL->data[i-1];}/**OutputtheSqList**************//**voidDisplay_SqList(SqList*L){inti,n;n=ListLength(L);printf("thelengthis%d",n);for(i=0;i<n;i++)printf("%d",L->data[i]);}/****************Main()**************************/main(){SqList*L;/*printf("inputthelengthofSqList\n");scanf("%d",&len);*/Create_SqList(L);Display_SqList(L);getch();}數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16頁,當(dāng)前為第數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16頁,當(dāng)前為第9頁。/*********順序表的歸并運(yùn)算 ********/#include<stdio.h>#include<stdlib.h>typedefintdatatype;#definelist_maxsize20/*********definefornodestruct************/typedefstruct{datatypedata[list_maxsize];intlength;}SqList;/**********InitList/**********InitList*/voidInitList(SqList*L){L->length=0;}/************CreatSqList*************//************voidCreate_SqList(SqList*L)inti=0;InitList(L);printf("inputthedataofSqList\n");scanf("%d",&L->data[0]);while(L->data[i]!=-1){++i;scanf("%d",&(L->data[i]));}L->length=i;}/*********thelengthofSqList****************/intListLength(SqList*L){returnL->length;}/************GetElem/************GetElemL->data[i]************/intGetElem(SqList*L,inti){數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16頁,當(dāng)前為第10數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16頁,當(dāng)前為第10頁。{printf("GetelemPositionError");return;}returnL->data[i-1];}/************InsertOperation*********//************voidListInsert(SqList*L,inti,intx){SqList*q,*p;if(i<1||i>L->length){printf("theinsertpositionerror");return;}q=&(L->data[i-1]); /*q為插入位置 */for(p=&(L->data[L->length-1]);p>=q;--p)*(p+1)=*p;L->data[i-1]=x;++L->length;}/*********LAandLBMergedLC***************/voidMergeList(SqList*LA,SqList*LB,SqList*LC){intLa_len,Lb_len,ai,bj;inti,j;intk;i=j=1;InitList(LC);La_len=ListLength(LA);Lb_len=ListLength(LB);LC->length=La_len+Lb_len;/*for(k=0;k<LC->length;k++)LC->data[k]=0;*/k=0;while((i<=La_len)&&(j<=Lb_len)){ai=GetElem(LA,i);bj=GetElem(LB,j);if(ai<bj){++k;ListInsert(LC,k,ai);++i;}elseif(ai==bj)數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16頁,當(dāng)前為第11頁。++k;ListInsert(LC,k,ai);++k;ListInsert(LC,k,bj);++i;++j;}else{++k;ListInsert(LC,k,bj);++j;}}while(i<=La_len){/*AppendtheresidualnodeintoLA*/ai=GetElem(LA,i);++i;++k;ListInsert(LC,k,ai);}while(j<=Lb_len){/*AppendtheresidualnodeintoLA*/bj=GetElem(LB,j);++j;++k;ListInsert(LC,k,bj);}LC->length=La_len+Lb_len;}/**OutputtheSqList**************//**voidDisplay_SqList(SqList*L){inti,n;n=ListLength(L);printf("thelengthis%d",n);for(i=0;i<n;i++)printf("%d",L->data[i]);數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16頁,當(dāng)前為第12頁。/****************Main()**************************/數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16頁,當(dāng)前為第12頁。{SqList*LA,*LB,*LC;Create_SqList(LA);Create_SqList(LB);MergeList(LA,LB,LC);Display_SqList(LC);getch();}數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16頁,當(dāng)前為第13頁。5./****用帶頭結(jié)點(diǎn)的循環(huán)單鏈表解決約瑟夫問題數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16頁,當(dāng)前為第13頁。#include<stdio.h>#include<stdlib.h>typedefstructLnode{/*定義線性表的單鏈表存儲(chǔ)結(jié)構(gòu) */intdata;structLnode*next;}LinkList;/****************單鏈表的初始化 *************************/Initlist(LinkList*L){/*動(dòng)態(tài)申請(qǐng)存儲(chǔ)空間 */L=(LinkList*)malloc(sizeof(structLnode));/*建立頭結(jié)點(diǎn) */L->next=L;}/*************建立一個(gè)帶頭結(jié)點(diǎn)的循環(huán)單鏈表, 數(shù)據(jù)值為 1,2,3,...n,在表尾插入 ***************/Create_L(LinkList*L,intn){LinkList*p;inti;Initlist(L);/*單鏈表初始化p=L;for(i=n;i>0;--i){q=(LinkList*)malloc(sizeof(structLnode));q->data=i;/*輸入元素值p->next=qq->next=L;/*插入到表尾}}/*Create_L*//*******************voiddisplay(LinkList*L){LinkList*p;p=L->next;while(p->next!=L)單鏈表值的輸出 ****************//*字母鏈表的輸出 */數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16頁,當(dāng)前為第14頁。}}/*************主程序*/main()LinkList*L;intn;L=(LinkList*)malloc(sizeof(structLnode));/*L->data=0;*/L->next=L;printf("inputthelengthofL,n\n");scanf("%d",&n);printf("\n");Create_L(L,n);display(L);getch();}數(shù)據(jù)結(jié)構(gòu)線性表的主要程序代碼全文共16頁,當(dāng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO 16254:2024 EN Acoustics - Measurement of sound emitted by road vehicles of category M and N at standstill and low speed operation - Engineering method
- 2025年度短信平臺(tái)數(shù)據(jù)統(tǒng)計(jì)分析服務(wù)合同范本
- 2025年度陽臺(tái)裝修封包與景觀照明系統(tǒng)安裝合同
- 化學(xué)-黑龍江省大慶市實(shí)驗(yàn)中學(xué)2024-2025學(xué)年高一上學(xué)期階段考試
- 軟件開發(fā)項(xiàng)目管理計(jì)劃
- 秘書工作任務(wù)安排計(jì)劃
- 韻律之聲學(xué)校聲樂社團(tuán)訓(xùn)練計(jì)劃
- 從規(guī)劃到執(zhí)行的工作計(jì)劃流程
- 持續(xù)改進(jìn)班級(jí)工作方法計(jì)劃
- 從消費(fèi)者行為看品牌優(yōu)化計(jì)劃
- 《網(wǎng)絡(luò)安全防護(hù)項(xiàng)目教程》課件項(xiàng)目4 網(wǎng)絡(luò)病毒和惡意代碼分析與防御
- 四川省達(dá)州市達(dá)川區(qū)2023-2024學(xué)年八年級(jí)下學(xué)期期末道德與法治試題
- 賬期協(xié)議書賬期合同書
- 信息技術(shù)課程標(biāo)準(zhǔn)2023版:義務(wù)教育小學(xué)階段
- 職業(yè)技術(shù)學(xué)院環(huán)境工程技術(shù)專業(yè)《水處理技術(shù)》課程標(biāo)準(zhǔn)
- 2024年興業(yè)銀行股份有限公司校園招聘考試試題參考答案
- 2024年中國國際航空股份有限公司校園招聘考試試題含答案
- 2024年常德職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫完整
- 天津市河?xùn)|區(qū)2023-2024學(xué)年九年級(jí)上學(xué)期期末數(shù)學(xué)試題
- 2023-2024學(xué)年統(tǒng)編版語文 七年級(jí)下冊(cè)第21課《古代詩歌五首-己亥雜詩(其五)》課件
- 駕駛證延期申請(qǐng)委托書
評(píng)論
0/150
提交評(píng)論