



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、一、實驗目的1 , 了解線性表的邏輯結構特性,以及這種特性在計算機內的兩種存儲結構。2 .重點是線性表的基本操作在兩種存儲結構上的實現;本次實驗以順序存儲的操作為 側重點;并進一步學習結構化的程序設計方法。二、實例1. 線性表的順序存儲表示(結構)及實現。閱讀下列程序請注意幾個問題:(1)關于線性表的順序存儲結構的本質是:在邏輯上相鄰的兩個數據元素ai-i, ai,在存儲地址中也是相鄰的,既地址連續。不同的教材有不同的表示,有的直接采用一維數組, 這種方法有些過時。有的采用含動態分配一維數組的結構體,這種方法過于靈活抽象(對 讀者要求過高)。我們采用的是含靜態一維數組和線性表長的結構體:typ
2、edef struct ElemType aMAXSIZE; /*一維數組 子域 */int length;/*表長度子域 */SqList;/*順序存儲的結構體類型 */(2)本程序是一個完整的、子函數較多的源程序。目的為學生提供一個示范,提供順序存儲表示的資料,供學生參考。比如,主函數中簡單“菜單設計”(do-while 循環內嵌套一個switch 結構)技術。在學習數據結構的初級階段,并不強要求學生一定使用“菜單設 計”技術,同學們可以在main()函數中直接寫幾個簡單的調用語句,就象前面的復數處理程序中的main() 一樣。但是隨著學習的深入,盡早學會使用“菜單設計”技術,會明顯提 高
3、編程和運行效率。源程序(略) 三、實驗題1. 一個線性表有n個元素(n<MAXSIZE, MAXSIZE指線性表的最大長度),且遞增有序?,F 有一元素x要插入到線性表的適當位置上,并保持線性表原有的順序不變。設計程序實現。要求:采用順序存儲表示實現;提示:請按照如下順序實現本題功能:第一步:創建順序表,并輸出原始數據第二步:排序,輸出排好序的線性表第三步:輸入要插入的元素x第四步:將x插入已排序的線性表中,使線性表仍然有序第五步:輸出最終結果要求:1、70分程序/事先直接給定有序表#include<>#define MAXSIZE 50typedef structint aM
4、AXSIZE;int length;List;void main()(List L;int i,j;int x;=10;for(i=0;i<10;i+)i=2*i;printf("事先給定的有序表為(當前表長為10): n");for(i=0;i<i+)printf("%4d",i);printf("n請輸入一個數x");scanf("%d",&x);for(i=9;i>=0;i-)(if(x<i)i+1=i;elsei+1=x;printf("%d",i);+;
5、break;for(i=0;i<i+)printf("%4d",i);2、80分程序:/事先直接給定有序表,用函數實現數據元素x的插入#include<>#define MAXSIZE 50typedef structint aMAXSIZE;int length;List;void Insert(List *L,int x);void main()List L;int i,j;int x;=10;for(i=0;i<10;i+)i=2*i;printf("事先給定的有序表為(當前表長為10): n");for(i=0;i<
6、i+)printf("%4d",i);printf("n");并保持線性表/以下程序段請填空完成:現有一元素x要插入到線性表的適當位置上,原有的順序不變。printf("請輸入要插入的元素x:");scanf("%d",&x);Insert(&L,x);/請完成Insert() 函數3、100分程序:/按步驟完成全部功能,并用函數實現#include<>#define MAXSIZE 50typedef structint aMAXSIZE;int length;List; /請注意該順
7、序表的結構void Create(List *L);void Sort(List *L);void Display(List L);void Insert(List *L,int x);main()int i,x;List L;printf("1 、創建線性表(初始化和尾部插入)n");Create(&L);Display(L);printf("2 、對線性表進行排序 n");Sort(&L);Display(L);printf("3 、請輸入要插入的元素:");scanf("%d",&x)
8、;printf("4 、將 x 插入到有序表中 n");Insert(&L,x);Display(L);void Create(List *L)/請填空完成創建無序鏈表的函數)void Sort(List *L)(int i,j,t;for(i=0;i<L->length-1;i+) /冒泡排序,若采用其他排序方法,可加分for(j=0;j<L->length-i-1;j+) if(L->aj>L->aj+1) (t=L->aj;L->aj=L->aj+1;L->aj+1=t;)void Display(List L)(/請完成顯示順序表的函數)void Insert(List *L,int x)(/請完成往有序表L中插入元素x的函數,使順序表仍然有序)四、要求1、可以要求分組完成,組
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 自動避障技術研究-洞察闡釋
- 風電場運維成本分析-洞察闡釋
- 記憶與歷史認知-洞察闡釋
- 焦爐煤氣制還原鐵項目可行性研究
- 緊固件行業智能化制造對投資策略的影響-洞察闡釋
- 鐵路客運服務質量提升-洞察闡釋
- 電力系統現場典型故障波形分析技術研究
- 學制貫通培養體系研究:成就、挑戰與未來趨勢
- 招標書規范化格式設計與實踐應用研究
- 多模態醫療數據預處理-洞察闡釋
- 四川省綿陽市2024-2025學年高一數學下學期期末教學質量測試試題
- 2025高考物理步步高同步練習必修3練透 帶電粒子在電場中的運動
- 2024人形機器人產業半年研究報告
- 某化纖毛紡廠總配變電所及高壓配電系統設計
- 北京市海淀區2023-2024學年七年級下學期期末數學練習試題(解析版)
- DB32-T 4790-2024建筑施工特種作業人員安全操作技能考核標準
- 人教版英語九年級全一冊《教材解讀分析課件》完整版課件
- 北京市房山區2023-2024學年七年級下學期期末數學試題(解析版)
- 小學教育集團三年發展規劃(2024年-2027年)
- 問題解決型護理品管圈QCC成果匯報之提高兒科護士橈動脈采血的穿刺成功率
- GB 41317-2024燃氣用具連接用不銹鋼波紋軟管
評論
0/150
提交評論