




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、20XX數(shù)據(jù)結(jié)構(gòu)實驗報告課程名稱:實驗項目:實驗地點:專業(yè)班級:學生姓名:指導教師:數(shù)據(jù)結(jié)構(gòu)實驗線性表博學樓B座 學號: 20XX楊崇艷20XX年11月02日實驗一線性表二.實驗例題問題描述用鏈表形式存儲一個字符串,插入、刪除某個字符,最后按正序、逆序兩種方式輸出字符串。輸入初始字符串,插入位置,插入字符,刪除字符。輸出 已建立鏈表,插入字符后鏈表,刪除字符后鏈表,逆轉(zhuǎn)后鏈表。存儲結(jié)構(gòu)采用鏈式存儲結(jié)構(gòu)算法的基本思想 建立鏈表:當讀入字符不是結(jié)束符時,給結(jié)點分配存儲空間,寫數(shù)據(jù)域,將新結(jié)點插到表尾;插入字符:根據(jù)讀入 的字符在鏈表中找插入位置,將新結(jié)點插入到該位置之前;刪除字符:根據(jù)讀入的刪除字
2、符在鏈表中找到被刪結(jié)點后, 將其從鏈表中刪除;鏈表逆轉(zhuǎn):從鏈表的第一個結(jié)點開始對所有結(jié)點處理,將每個結(jié)點的前驅(qū)變?yōu)樗暮罄^;打印鏈表: 從鏈表的第一個結(jié)點開始,依次打印各個結(jié)點的數(shù)據(jù)域。#define NULL 0typ edef struct nodechar a;struct node *link; node,*nodelink;nodelink p,q;void readlink(nodelink head)char c;p=head;p rintf( scanf(while(c!=n) q=(nodelink)malloc(sizeof(node);q-a=c;p-li nk=q; p
3、=q;scanf(p-link=NULL; void writelink(nodelink head) nodelink q;if (head-link=NULL)o nfor(q=head-link;q;q=q-link)p rintf(p rintf(int insert(nodelinkhead,char k1,char k2) nodelink p,q;p=head-link;while( p-a!=k1 &p) p=p-link;if(P) q=(nodelink)malloc(sizeof(node);q-a=k2;q-link=p-link;p-li nk=q;return 1;
4、else p rintf( int delete(nodelink head,char k) nodelinkp,q;q=head; p=head-link;while( (p-a)!=k )&p) q=q-li nk; p=p-li nk; if(P) q-link=p-link; return 1; else p rintf( nodelink p,q;void op side(nodelinkhead)p=head-link;while( p-link)q=p-link;p-link=q-link;q-link=head-link; head-link=q; main char k1,k
5、2,k3;nodelink head;head=(nodelink)malloc(sizeof(node);head-link=NULL;readlink(head);if (head-link!=NULL)p rintf(if (head-link!=NULL) p rintf(k1=getch ;printf(p rintf( k2=getch ;printf(if (insert(head,k1,k2)p rintf(k3=getch ;p rintf(if (delete(head,k3)P rintf(writelink(head);if(head-link!=NULL)p rint
6、f( writelink(head); free(head); 四.運行結(jié)果Input a linktable(a string):dfkds pogjdj/ Buildlink is :dfkds pogjdjPI ease input a char you want to insert after:sPI ease input a char you want to insert:nAfter pinsert y,link is:dfkds np ogjdjPI ease input a char you want to delete:k/ afterdelete p,linkis:dfds
7、 npogjdjOp siteresultis :jdjgo pn sdfd五.實驗結(jié)果與分析通過本實驗,我熟練掌握線性表的基本操作在順序存儲結(jié)構(gòu)和鏈式存儲結(jié)構(gòu)上的實現(xiàn),提高分析和解決問題的能 力。豐富了編程經(jīng)驗,提高了對順序存儲結(jié)構(gòu)的知識點的理解和掌握。課程名稱:實驗項目:實驗地點:專業(yè)班級:學生姓名:指導教師:數(shù)據(jù)結(jié)構(gòu)實驗二樹博學樓B座 學號:20XX00楊崇艷20XX年11月02日實驗問題描述任意給定一棵二叉樹。試設計一個程序,在計算機中構(gòu)造該二叉樹,并對它進行遍歷。輸入棵二叉樹的結(jié)點若無子樹,則可將其子樹看作“.”輸入時,按照前序序列的順序輸入該結(jié)點的內(nèi)容。對 其輸入序列為ABD.EH
8、G.。輸出若為空二叉樹,則輸出:THIS IS A EMPTY BINARYTREE若二叉樹不空,按后序序列輸出,對上例,輸出結(jié)果為:DHEBIFGCA 存儲結(jié)構(gòu)采用二叉鏈表存儲。算法的基本思想采用遞歸方法建立和遍歷二叉樹。首先建立二叉樹的根結(jié)點,然后建立其左右子樹,直到空子樹為止。后序遍歷叉樹時,先遍歷左子樹,后遍歷右子樹,最后訪問根結(jié)點。#include #include struct nodechar info;struct node *llink,*rlink;typ edef struct node NODE; NODE *creat charx; NODE *p;scanf( p
9、rintf(if(x!=.) p=( NODE *)malloc(sizeof(NODE);p-in fo=x;p-llink=creat ;p-rlink=creat ;else p=NULL;return p;實驗四查找二.實驗例題問題描述將折半查找算法寫成完整的程序, 并上機通過。輸入有序表及待查找記錄 23,58。輸出輸入23 ,表中存在待查找記錄,則顯示該記錄在表中位置2,輸入58顯示該記錄不存在。存儲結(jié)構(gòu)有序表采用順序方式存儲。算法的基本思想首先用待查找記錄與查找區(qū)間中間位置記錄比較,若相等則查找成功,返回該記錄在表中的位置數(shù),若小于中間位置記錄,則修改區(qū)間上界為中間位置減1,若大
10、于中間位置記錄,則修改區(qū)間下界為中間位置加1,在新的區(qū)間內(nèi)繼續(xù)查找。當查找區(qū)間下界大于上界,則該記錄不存在。三.程序清單#includet yp edefstructint a30; intlength; sqtable; sqtable st; int b=0;void createst(int k) int i;printf( data: 0=-100;node; node afile20;for (i=1;(!b&(itypedef intnode x; int d,dl,n; int l,r,i,j;void q(int l,int r)int p;d+;if(dlx)&(ji)if(
11、ii)i+;if(ia=c;p-li nk=q;p=q;scanf(p-link=NULL; nodelink q;void writelink(nodelink head)if (head-link=NULL)。nfor(q=head-link;q;q=q-link)printf(p rintf(int insert(nodelinkhead,chark1,char k2) nodelink p,q;p=head-link;while( p-a!=k1 &p) p=p-link;if(P) q=(nodelink)malloc(sizeof(node);q-a=k2;q-link=p-lin
12、k;p-li nk=q;return 1;else p rintf( int delete(nodelink head,char k) nodelinkp,q;q=head; p=head-link;while( (p-a)!=k )&p) q=q-li nk; p=p-li nk; if(P) q-link=p-link; return 1; else p rintf( nodelink p,q;void op side(nodelinkhead)p=head-link;while( p-link)q=p-link;p-link=q-link;q-link=head-link; head-l
13、ink=q; mainchar k1,k2,k3;nodelink head;head=(nodelink)malloc(sizeof(node);head-link=NULL;readlink(head);if (head-link!=NULL)p rintf(if (head-link!=NULL) p rintf(k1=getch ;p rintf(p rintf( k2=getch ;printf(if (insert(head,k1,k2)printf(k3=getch ;printf(if (delete(head,k3)p rintf(writelink(head);if(hea
14、d-link!=NULL)p rintf( writelink(head); free(head); 四.運行結(jié)果Input a linktable(a string):dfkds pogjdj/ Buildlink is :dfkds pogjdjPI ease input a char you want to insert after:sPI ease input a char you want to insert:nAfter pinsert y,link is:dfkds np ogjdjPI ease input a char you want to delete:k/ afterd
15、elete p,linkis:dfds npogjdjOp siteresultis :jdjgo pn sdfd五.實驗結(jié)果與分析 通過本實驗,我熟練掌握線性表的基本操作在順序存儲結(jié)構(gòu)和鏈式存儲結(jié)構(gòu)上的實現(xiàn),提高分析和解決問題的能 力。豐富了編程經(jīng)驗,提高了對順序存儲結(jié)構(gòu)的知識點的理 解和掌握。課程名稱:實驗項目:實驗地點:專業(yè)班級:學生姓名:指導教師:數(shù)據(jù)結(jié)構(gòu)實驗二樹博學樓B座 學號:20XX00楊崇艷20XX年11月02日實驗二樹問題描述任意給定一棵二叉樹。試設計一個程序,在計算機中構(gòu)造該二叉樹,并對它進行遍歷。輸入else p=NULL;return p;棵二叉樹的結(jié)點若無子樹,則可將其子樹看作“.”輸入時,按照前序序列的順序輸入該結(jié)點的內(nèi)容。對其輸入序列為ABD.EH.G.輸出若為空二叉樹,則輸出:THIS IS A EMPTY BINARYTREE若二叉樹不空,按后序序列輸出,對上例,輸出結(jié)果為:DHEBIFGCA 存儲結(jié)構(gòu)采用二叉鏈表存儲。算法的基本思想采用遞歸方法建立和遍歷二叉樹。首先建立二叉樹的根結(jié)點,然后建立其左右子樹,直到空子樹為止
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞務人員介紹合同范本
- 跨境支付與電商平臺運營策略探討
- 有關(guān)預防近視的演講稿(32篇)
- 音效設計在舞臺劇中的重要作用及實例分析
- 血液透析病人的護理
- 麗水市青田縣2024-2025學年五年級數(shù)學第二學期期末考試模擬試題含答案
- 上海中僑職業(yè)技術(shù)大學《中國紅色音樂史話》2023-2024學年第二學期期末試卷
- 2025江蘇亞威鑄造材料科技有限公司招聘41人筆試參考題庫附帶答案詳解
- 2024-2025學年山西省忻州市繁峙縣數(shù)學四年級第二學期期末預測試題含解析
- 漯河職業(yè)技術(shù)學院《經(jīng)濟時間序列分析(英語)》2023-2024學年第二學期期末試卷
- 正常肌肉及常見肌病的病理學表現(xiàn)
- 01-BUFR格式應用指南(試用版)
- 體育測量與評價04心肺功能的測量與評價
- 提高意識風險防范化解能力體會發(fā)言
- RB/T 089-2022綠色供應鏈管理體系要求及使用指南
- 2023年度危險作業(yè)安全監(jiān)護手冊
- 馬克思主義哲學十講
- 催化材料智慧樹知到答案章節(jié)測試2023年南開大學
- GB/T 9846.1-2004膠合板第1部分:分類
- GB/T 32685-2016工業(yè)用精對苯二甲酸(PTA)
- 部編優(yōu)質(zhì)課國家一等獎初中語文八年級下冊《大道之行也》
評論
0/150
提交評論