線性鏈表的實(shí)現(xiàn)及操作_第1頁(yè)
線性鏈表的實(shí)現(xiàn)及操作_第2頁(yè)
線性鏈表的實(shí)現(xiàn)及操作_第3頁(yè)
線性鏈表的實(shí)現(xiàn)及操作_第4頁(yè)
線性鏈表的實(shí)現(xiàn)及操作_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

- 學(xué)生姓名學(xué)生班級(jí)學(xué)生** 指導(dǎo)教師 -1、設(shè)計(jì)一個(gè)100位以內(nèi)的長(zhǎng)整數(shù)加減運(yùn)算的程序。要求如下:輸入輸出要求:每四位一組,組間用逗號(hào)分隔;加和減分別用不同的程序?qū)崿F(xiàn)程序應(yīng)考慮輸入數(shù)據(jù)的符號(hào)2、用循環(huán)鏈表實(shí)現(xiàn)約瑟夫環(huán)問(wèn)題數(shù)與被減數(shù)的長(zhǎng)短關(guān)。Number*GetNumber(){Number*p,*q,*List;p=(Number*)malloc(LEN);stpList->prior=NULL;List->data=0;{{-locLENhetq}}tNULLiorNULList}NumberJiaFa(Number*num_1,Number*num_2)//返回的數(shù)據(jù)為逆序{Numberp*q,*r,*s,*num=NULL;p=num_1;while(p->ne*t!=NULL){pnet}q=num_2;while(q->ne*t!=NULL){q=q->ne*t;}s=(Number*)malloc(LEN);s->prior=NULL;//i表示number1數(shù)字的長(zhǎng)度//j表示number2數(shù)字的長(zhǎng)度-while(i--&&j--){{ppriordataa}mbermallocLENrsrior}prior{while(i--){{pdatappriordata}點(diǎn)-riors}{s}}{while(j--){{a}s}{-s}}um}ne*t置空NumberJianFa(Number*num_1,Number*num_2)//返回的數(shù)據(jù)也為逆序{Numberp*q,*r,*s,*num=NULL;p=num_1;while(p->ne*t!=NULL){p=p->ne*t;}q=num_2;while(q->ne*t!=NULL){q=q->ne*t;}s=(Number*)malloc(LEN);s->prior=NULL;s->ne*t=NULL;num=s;數(shù)的,用減數(shù)減去被減數(shù),最后反號(hào){while(i--){s->data=q->data-p->data;if(s->data<0){//i表示number1數(shù)字的長(zhǎng)度//j表示number2數(shù)字的長(zhǎng)度//對(duì)于被減數(shù)長(zhǎng)度小于減-q->prior->data--;}bermallocLENrsriorj--;}priorwhile(j--){{q->prior->data--;}s}}{umqnumwhilep>data==q->data){pnet}mNumbermallocLENriorNULL點(diǎn)-mdatamnetpumNumbermallocLENriorNULLmdatamnetqwhile(p->ne*t!=NULL){ppnet;}while(q->ne*t!=NULL){}atanumnetdata{while(i--){ata{p->prior->data--;}rNumbermallocLEN);iorspprior}r=s=s->prior;//去掉最后一個(gè)沒(méi)數(shù)據(jù)的節(jié)點(diǎn)free(s->ne*t);while(s->data==0&&s->prior!=NU去)掉前面多余的0,1{s=s->prior;free(s->ne*t);-}}tdata{while(i--){{q->prior->data--;}mbermallocLENrsrior}r=s=s->prior;//去掉最后一個(gè)沒(méi)數(shù)據(jù)的節(jié)點(diǎn)free(s->ne*t);while(s->data==0&&s->prior!=NU去)掉前面多余的0,1{s=s->prior;free(s->ne*t);}}s->data=0-s->data;能放符號(hào),而直接在最高位前加負(fù)號(hào)最簡(jiǎn)單s->ne*t=NULL;}{while(j--){s->data=p->data-q->data;if(s->data<0){s->data+=10;}//反號(hào),因?yàn)楣?jié)點(diǎn)里不-mbermallocLENrsriori--;}rssprior//去掉最后一個(gè)沒(méi)數(shù)據(jù)的節(jié)點(diǎn)while(i--){{datap->prior->data--;}riors}while(s->data==0&&s->prior!=NULL)//去掉前面多余的0,否{s=s->prior;free(s->ne*t);}//s->data=0-s->data;//反號(hào),因?yàn)楣?jié)點(diǎn)里不能放符號(hào),而直接在最高位前加負(fù)號(hào)最簡(jiǎn)單s->ne*t=NULL;}returnnum;}4.鏈表的合并voidPutNumber(Number*num)/表的合并{Number*p;-while(p->ne*t!=NULL){pnet}while(k--){printfdpdata);rior完后不輸出','}}遇到的問(wèn)題及解決方法hhzeofNumber{Numbernet-Numberprior;{dDestoryListNumberdPutNumberNumberNumberGetNumber();數(shù)NumberJiaFa(Number*num_1,Number*num_2);//加法函數(shù)Number*JianFa(Number*num_1,Number*num_2);//減法函數(shù)Numbernumber_1,*number_2,*number;charch//存放運(yùn)算符號(hào)printfEnterthefirstlongnumbern);berGetNumberprintf("put+or-:\n");fflush(stdin);//吸收不相關(guān)的字符printfEnterthesecondlongnumbern);erGetNumbernumberJiaFanumbernumber2);numberJianFanumbernumber2);ntfnmbernumberoryListnumberDestoryList(number_1);DestoryListnumber2);}NumberGetNumber(){Numberp,*q,*List;NumbermallocLENiorNULLdata{{-locLENhetq}}tNULLiorNULList長(zhǎng)度一樣與不同NumberJiaFa(Number*num_1,Number*num_2)//返回的數(shù)據(jù)為逆序{Numberp*q,*r,*s,*num=NULL;p=num_1;while(p->ne*t!=NULL){pnet}q=num_2;while(q->ne*t!=NULL){q=q->ne*t;}s=(Number*)malloc(LEN);s->prior=NULL;s->ne*t=NULL;num=s;while(i--&&j--){s->data=p->data+q->data;if(s->data>9){s->data-=10;況,后面還有p->prior->data++;//i表示number1數(shù)字的長(zhǎng)度//j表示number2數(shù)字的長(zhǎng)度//**處理兩數(shù)相加大于9的情//在長(zhǎng)的數(shù)據(jù)上調(diào)整-a}mbermallocLENrsrior}prior{while(i--){{pdatappriordata}riors}{s}}{while(j--){{點(diǎn)-a}s}{s}}ne*t置空umNumberJianFa(Number*num_1,Number*num_2)//返回的數(shù)據(jù)也為逆序{Numberp*q,*r,*s,*num=NULL;p=num_1;while(p->ne*t!=NULL){p=p->ne*t;}q=num_2;while(q->ne*t!=NULL){q=q->ne*t;}s=(Number*)malloc(LEN);s->prior=NULL;s->ne*t=NULL;//i表示number1數(shù)字的長(zhǎng)度//j表示number2數(shù)字的長(zhǎng)度-數(shù)的,用減數(shù)減去被減數(shù),最后反號(hào){while(i--){s->data=q->data-p->data;if(s->data<0){s->data+=10;q->prior->data--;}r=(Number*)malloc(LEN);s->ne*t=r;r->prior=s;s=r;p=p->prior;q=q->prior;}r=s=s->prior;free(s->ne*t);s->ne*t=NULL;while(j--){if(q->data<0){q->data+=10;q->prior->data--;}s=(Number*)malloc(LEN);s->data=q->data;q=q->prior;r->ne*t=s;s->prior=r;r=s;}s->data=0-s->data;符號(hào),而直接在最高位前加負(fù)號(hào)最簡(jiǎn)單s->ne*t=NULL;}elseif(i==j){//對(duì)于被減數(shù)長(zhǎng)度小于減//去掉最后一個(gè)沒(méi)數(shù)據(jù)的節(jié)點(diǎn)-pnum_1;q=num_2;while(p->data==q->data){pnet}umNumbermallocLENriorNULLmdatamnetpumNumbermallocLENriorNULLmdatamnetq{ppnet;}{}atanumnetdata{while(i--){ata{p->prior->data--;}rNumbermallocLEN);iorspprior-}r=s=s->prior;//去掉最后一個(gè)沒(méi)數(shù)據(jù)的節(jié)點(diǎn)free(s->ne*t);while(s->data==0&&s->prior!=NU去)掉前面多余的0,1{s=s->prior;free(s->ne*t);}}if(num_1->ne*t->data<num_2->ne*t->data){while(i--){s->data=q->data-p->data;if(s->data<0){s->data+=10;}r=(Number*)malloc(LEN);s->ne*t=r;r->prior=s;p=p->prior;q=q->prior;}r=s=s->prior;//去掉最后一個(gè)沒(méi)數(shù)據(jù)的節(jié)點(diǎn)free(s->ne*t);while(s->data==0&&s->prior!=NU去)掉前面多余的0,1{s=s->prior;free(s->ne*t);}}s->data=0-s->data;能放符號(hào),而直接在最高位前加負(fù)號(hào)最簡(jiǎn)單s->ne*t=NULL;}//反號(hào),因?yàn)楣?jié)點(diǎn)里不-{while(j--){{p->prior->data--;}mbermallocLENrsriori--;}priorwhile(i--)點(diǎn){{datap->prior->data--;}riors}while(s->data==0&&s->prior!=NULL)//去掉前面多余的0,否{s=s->prior;free(s->ne*t);}//s->data=0-s->data;//反號(hào),因?yàn)楣?jié)點(diǎn)里不能放符號(hào),而直接在最高位前加負(fù)號(hào)最簡(jiǎn)單s->ne*t=NULL;}-um}tNumberNumbernum{Number*p;while(p->ne*t!=NULL){pnet}while(k--){printfdpdata);rior不輸出','char}harn}storyListNumberlist{Number*p,*q;whilep{}}#include<stdio.h>#include<stdlib.h>{structLnodenet;Lnode*p,*q,*head;-{printfhowmanynumbersdoyouwant;n{printfnniserorr!\n\n");printfhowmanynumbersdoyouwa

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論