




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
數據結構實驗報告專業信息管理學生姓名馬鑫學號3140561030班號信管142任課教師原欣偉指導教師祝明偉報告日期2015年11月經濟與管理學院2015年11月
驗證性實驗1、驗證性實驗名稱:在單鏈表查找值為x的數據元素2、驗證性程序設計1)需要學生完成的函數名稱、功能的簡要說明2)需要學生完成的函數的具體算法,并編程實現voidSearchList(charx)/*在單鏈表查找值為x的數據元素*/{printf("\t\t\t未找到值為%c的結點!\n",x);printf("\t\t\t請同學自己實現程序代碼!\n");return;}3.調試和測試1)對上述算法和程序進行調試,發現問題并改正,使程序調試通過。2)建立一組數據實例,對程序的所有功能進行測試,并記錄測試過程和結果。
綜合設計實驗一、實驗名稱:直接插入排序的單鏈表實現方法二、實驗目的1.對前面所學的數據結構進行復習總結;2.對有一定難度的題目,學會分解問題,自上而下,逐步解決;
3.在掌握現有數據結構的基礎上,對不同的問題,嘗試改進相應的數據結構。三、實驗內容1.采用單鏈表存儲待排序數據;2.設計直接插入排序算法。四、概要設計1)為了實現上述程序功能,需要定義單鏈表的數據類型:首先將待排序數據建立一個帶頭結點的單鏈表,具體算法請參見單鏈表的操作。在單鏈表中進行直接插入排序的基本思想是:將單鏈表劃分為有序區和無序區,初始時有序區只包含一個元素結點,依次取無序區中的每一個結點,在有序區中查找待插入結點的插入位置,然后把該結點從單鏈表中刪除,再插入到相應位置。例如,有一組待排序數據存儲在單鏈表head中,排序過程如下:分析上述排序過程,需要設一個工作指針q在無序區中指向待插入的結點,為了查找正確的插入位置,每趟排序前需將工作指針pre和p指向頭結點和開始結點,在找到插入位置后,將q所指結點插在結點pre和p之間。這相當于在單鏈表中刪除q所指結點,然后將其插入到結點pre和p之間。為了成功刪除結點q,且鏈表不斷開,需要一個工作指針L指向結點q的前一個結點,即有序區的最后一個結點。2)函數名和函數的簡要功能說明voidCreateList():尾插法建立單鏈表voidShowList():顯示單鏈表所有元素voidinsertsortl(node*head):直接插入排序算法.五、詳細設計實現概要設計中定義的所有的數據類型,對主程序和每個函數需要寫出具體算法,并編程實現。#include<stdio.h>#include<stdlib.h>typedefstructlinknode{ intdata; structlinknode*next;}node;intn=0;node*head;voidCreateList()/*尾插法建立單鏈表*/{ node*p,*s; intx; head=(node*)malloc(sizeof(node)); p=head; printf("\n\t\t建立一個線性表"); printf("\n\t\t說明:請逐個輸數字,結束以0:\n"); printf("\t\t輸入:"); scanf("%d",&x); while(x!=0) { s=(node*)malloc(sizeof(node));/*申請一個新結點*/ n++; s->data=x;/*對新結點的data域賦值*/ s->next=NULL; /*對新結點的next域賦空值*/ p->next=s;/*將新結點連接到表的末尾*/ p=s;/*P指向最后結點*/ scanf("%d",&x); }}voidShowList()/*顯示單鏈表所有元素*/{ node*p=head; printf("\n\t\t顯示線性表的所有元素:"); if(head->next==NULL||p==NULL) printf("\n\t\t鏈表為空!\n"); else { printf("\n"); while(p->next!=NULL) { printf("%5d",p->next->data); p=p->next; } }}voidinsertsortl(node*head)/*直接插入排序算法*/{node*curr,*pre,*p,*q;p=head->next;head->next=NULL;while(p!=NULL){ curr=head->next; pre=head; while(curr!=NULL&&curr->data<=p->data) { pre=curr; curr=curr->next; } q=p; p=p->next; q->next=pre->next; pre->next=q;}}voidmain(){ intchoice,j=1; head=NULL; while(j!=0) { printf("\n\n\n\n"); printf("\t\t\t直接插入排序的單鏈表實現\n"); printf("\n\t\t***************************************"); printf("\n\t\t*1-------建表*"); printf("\n\t\t*2-------排序*");printf("\n\t\t*3-------顯示*");printf("\n\t\t*0-------返回*"); printf("\n\t\t***************************************\n"); printf("\t\t請選擇菜單號(0--3):"); scanf("%d",&choice);getchar(); if(choice==1) CreateList(); elseif(choice==2) insertsortl(head); elseif(choice==3) { if(head==NULL) printf("\n\t\t請先建立線性表!"); else ShowList(); } elseif(choice==0) j=0; else printf("\n\t\t輸入錯誤!請重新輸入!\n"); }}建立一個線性表:直接插入排序的單鏈表實現****************************************1-------建表**2-------排序**3-------顯示**0-------返回****************************************請選擇菜單號(0--3):1建立一個線性表說明:請逐個輸數字,結束以0:輸入:2681930顯示排序結果:****************************************1-------建表**2-------排序**3-------顯示**0-------返回****************************************請選擇菜單號(0--3):2直接插入排序的單鏈表實現****************************************1-------建表**2-------排序**3-------顯示**0-------返回****************************************請選擇菜單號(0--3):3顯示線性表的所有元素:123689六、調試和測試1)對上述算
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業互聯網平臺霧計算協同在智能倉儲物流中的應用案例分析報告
- 2025年農村一二三產業融合發展的農村物流技術應用效果評估報告001
- 2025年元宇宙社交平臺虛擬現實技術專利布局與市場競爭力報告
- 2025年醫院信息化建設關鍵環節:電子病歷系統深度優化分析報告
- 2025年工業互聯網平臺生物識別技術在智能工廠生產流程優化中的應用價值分析報告
- 2025年黑龍江省伊春市名校八年級英語第二學期期末教學質量檢測模擬試題含答案
- 2025年醫藥企業研發外包(CRO)模式下的知識產權保護與法律風險防范報告
- 四川省成都市天府新區2025屆英語八年級第二學期期末教學質量檢測試題含答案
- 表白數獨題目及答案
- 地熱資源區域供暖系統設備選型與國產化進程報告001
- 2025年人教遼寧版八年級語文下冊 第二學期 期末測試卷
- 2025年考研政治《毛概》必考辨析題庫及答案大全
- 統編版語文一年級上冊新教材解讀及教學建議 課件
- 2025年春季安全教育主題班會教育記錄
- 醫療行業上云用云研究報告2024
- 融資擔保行業2024年信用回顧與2025年展望 -新世紀
- 曹楊二中自招數學試卷
- (新疆一模)2025屆高三高考適應性檢測分學科第一次模擬考試 生物試卷(含答案解析)
- 中職高二數學測試卷01(高教版2023拓展模塊一下冊全部)(原卷版)
- 醫院反腐倡廉廉潔行醫專題黨課宣講課件
- 大數據分析與應用知到智慧樹章節測試課后答案2024年秋西安理工大學
評論
0/150
提交評論