freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

算法與數(shù)據(jù)結(jié)構(gòu)實驗冊匯總-文庫吧

2025-06-08 15:54 本頁面


【正文】 3實驗2 單鏈表一、實驗?zāi)康暮鸵髮嶒災(zāi)康恼莆諉捂湵淼亩ㄎ弧⒉迦?、刪除等操作。實驗要求(1)注意鏈表的空間是動態(tài)分配的,某結(jié)點(diǎn)不用之后要及時進(jìn)行物理刪除,以便釋放其內(nèi)存空間。(2)鏈表不能實現(xiàn)直接定位,一定注意指針的保存,防止丟失。二、實驗儀器和設(shè)備Turbo C / Visual C ++ 三、實驗內(nèi)容與過程(含程序清單及流程圖)必做題(1) 編寫程序建立一個單鏈表,并逐個輸出單鏈表中所有數(shù)據(jù)元素。(2) 在遞增有序的單鏈表中插入一個新結(jié)點(diǎn)x,保持單鏈表的有序性。解題思路:首先查找插入的位置然后進(jìn)行插入操作;從第一個結(jié)點(diǎn)開始找到第一個大于該新結(jié)點(diǎn)值的結(jié)點(diǎn)即為插入位置;然后在找到的此結(jié)點(diǎn)之前插入新結(jié)點(diǎn);注意保留插入位置之前結(jié)點(diǎn)的指針才能完成插入操作。(3) 編寫實現(xiàn)帶頭結(jié)點(diǎn)單鏈表就地逆置的子函數(shù),并編寫主函數(shù)測試結(jié)果。選做題已知指針LA和LB分別指向兩個無頭結(jié)點(diǎn)單鏈表的首元結(jié)點(diǎn)。要求編一算法實現(xiàn),從表LA中刪除自第i個元素起共len個元素后,將它們插入到表LB中第j個元素之前。程序清單:1(1)includeincludetypedef struct node{ int data。 struct node *next。}linklist。linklist *Creatlist(linklist *head)//創(chuàng)建單鏈表{ char ch。 linklist *p=NULL,*s=NULL。 ch=getchar()。 while(ch!=39。$39。) { p=malloc(sizeof(linklist))。 pdata=ch。 if(head==NULL) head=p。 else snext=p。 s=p。 ch=getchar()。 } if(s!=NULL) snext=NULL。 return head。}int main(){ linklist *head=NULL,*p=NULL。 head=Creatlist(head)。 p=head。 while(p!=NULL) { printf(%c,pdata)。 p=pnext。 } return 0。}(2)includeinclude typedef int datatype。 typedef struct node { datatype data。 struct node *next。 } linklist。 linklist *CREATLISTR(linklist *head){ char ch。 linklist *s,*r。 r=NULL。 scanf(%c,amp。ch)。 while(ch!=39。$39。) { s=malloc(sizeof(linklist))。 sdata=ch。 if(head==NULL) head=s。 else rnext=s。 r=s。 scanf(%c,amp。ch)。 } if(r!=NULL) rnext=NULL。 return head。} linklist *INSERT(linklist *head,int x)//插入元素X { linklist *s,*q,*r。 s=malloc(sizeof(linklist))。 sdata=x。 q=head。 r=qnext。 while(rdatax) { q=r。 r=rnext。 } snext=r。 qnext=s。 return head。} int main(){ char x。 linklist *head=NULL,*p=NULL。 scanf(%c,amp。x)。 head=CREATLISTR(head)。 p=head。 while(p!=NULL) { printf(%c,pdata)。 p=pnext。 } head=INSERT(head,x)。 p=head。 while(p!=NULL) { printf(%c,pdata)。 p=pnext。 } printf(\n)。 return 0。 }(3)linklist *Invert(linklist *head)//將單鏈表逆置{ linklist *p=NULL,*q=NULL,*r=NULL。 if(head==NULL||headnext==NULL) return head。 p=head。 q=pnext。 while(q!=NULL) { r=qnext。 qnext=p。 p=q。 q=r。 } headnext=NULL。 head=p。 return head。}四、實驗結(jié)果與分析(程序運(yùn)行結(jié)果及其分析)五、實驗體會(遇到問題及解決辦法,編程后的心得體會)實驗項目名稱: 堆棧和隊列 實驗學(xué)時: 2 同組學(xué)生姓名: 實驗地點(diǎn): 實驗日期: 實驗成績: 批改教師: 批改時間: 實驗3 堆棧和隊列一、實驗?zāi)康暮鸵螅?)掌握應(yīng)用棧解決問題的方法。(2)掌握利用棧進(jìn)行表達(dá)式求和的算法。(3)掌握隊列的存儲結(jié)構(gòu)及基本操作實現(xiàn),并能在相應(yīng)的應(yīng)用問題中正確選用它們。二、實驗儀器和設(shè)備Turbo C / Visual C ++ 三、實驗內(nèi)容與過程(含程序清單及流程圖)必做題(1) 判斷一個算術(shù)表達(dá)式中開括號和閉括號是否配對。(2) 假設(shè)稱正讀和反讀都相同的字符序列為”回文”,試寫一個算法判別讀入的一個以’@’為結(jié)束符的字符序列是否是“回文”。選做題(1)測試“漢諾塔”問題。(2)在順序存儲結(jié)構(gòu)上實現(xiàn)輸出受限的雙端循環(huán)隊列的入列和出列算法。設(shè)每個元素表示一個待處理的作業(yè),元素值表示作業(yè)的預(yù)計時間。入隊列采取簡化的短作業(yè)優(yōu)先原則,若一個新提交的作業(yè)的預(yù)計執(zhí)行時間小于隊頭和隊尾作業(yè)的平均時間,則插入在隊頭,否則插入在隊尾。程序清單:1(1)includeincludedefine maxsize 64typedef struct node{ char data[maxsize]。 int top。}seqstack。int Judge(char a[],int n,seqstack *s)//判斷括號是否配對{ int i,flag=1。 stop=1。 for(i=0。in。i++) { if(a[i]==39。(39。) { stop++。 sdata[stop]=a[i]。 } if(a[i]==39。)39。) { if(stop==1||sdata[stop]!=39。(39。) { flag=
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1