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

正文內(nèi)容

算法與數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)冊(cè)匯總-文庫(kù)吧

2025-06-08 15:54 本頁(yè)面


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