下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
實(shí)驗(yàn)01順序表的基本操作實(shí)驗(yàn)學(xué)時(shí):2學(xué)時(shí)實(shí)驗(yàn)類型:上機(jī)背景知識:順序表的插入、刪除及應(yīng)用。目的要求:1.掌握順序存儲(chǔ)結(jié)構(gòu)的特點(diǎn)。2.掌握順序存儲(chǔ)結(jié)構(gòu)的常見算法。實(shí)驗(yàn)內(nèi)容:編寫一個(gè)完整的程序,實(shí)現(xiàn)順序表的生成、插入、刪除、輸出等基本運(yùn)算。(1)建立一個(gè)順序表,含有n個(gè)數(shù)據(jù)元素。(2)輸出順序表。在順序表中刪除值為x的結(jié)點(diǎn)或者刪除給定位置i的結(jié)點(diǎn)。實(shí)現(xiàn)把該表中所有奇數(shù)排在偶數(shù)之前,即表的前面為奇數(shù),后面為偶數(shù)。(5)輸入整型元素序列,利用有序表插入算法建立一個(gè)有序表。*利用算法5建立兩個(gè)非遞減有序表A和B,并把它們合并成一個(gè)非遞減有序表C。在主函數(shù)中設(shè)計(jì)一個(gè)簡單的菜單,分別測試上述算法。(8)*綜合訓(xùn)練:利用順序表實(shí)現(xiàn)一個(gè)班級學(xué)生信息管理(數(shù)據(jù)錄入、插入、刪除、排序、查找等)。實(shí)驗(yàn)說明:1請構(gòu)建多文件程序,算法1至算法6對應(yīng)的函數(shù)原型聲明存放在頭文件SqList.h中,對應(yīng)的函數(shù)實(shí)現(xiàn)存放在源文件SqList.c中;main()函數(shù)存放在另一個(gè)源文件中,該文件包含頭文件SqList.h即可。2.類型定義#defineMAXSIZE100//表中元素的最大個(gè)數(shù)typedefintElemType;//元素類型typedefstruct{ElemType*elem;//線性表intlength;//表的實(shí)際長度intlistsize;//當(dāng)前分配的存儲(chǔ)容量}SqList;//順序表的類型名3.建立順序表時(shí)可利用隨機(jī)函數(shù)自動(dòng)產(chǎn)生數(shù)據(jù)。注意問題:1、插入、刪除時(shí)元素的移動(dòng)原因、方向及先后順序。2、理解函數(shù)形參與實(shí)參的傳遞關(guān)系。部分源代碼:DS.h#include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>#defineTRUE1#defineFALSE0#defineOK1#defineERROR0typedefintStatus;SqList.h#ifndefSQLIST_H_INCLUDED#defineSQLIST_H_INCLUDED#include"DS.h"typedefintElemType;typedefstruct{ElemType*elem;intlength;intlistsize;}SqList;voidmenu();StatusInitList_Sq(SqList&L,intn);/*初始化順序表*/StatusCreateList_Sq(SqList&L);/*建立順序表*/voidPrintList_Sq(SqListL);/*輸出順序表*/StatusDeleteList_Sq(SqList&L,inti,ElemType&e);/刪除第i個(gè)元素*/StatusDeleteListX_Sq(SqList&L,ElemTypex);/刪除值為x的元素*/StatusAdjustList_Sq(SqList&L);/*奇數(shù)排在偶數(shù)之前*/StatusOrderList_sq(SqList&L,intn);/*插入法生成遞增有序表*/voidMergeList_Sq(SqListLa,SqListLb,SqList&Lc);/*兩個(gè)非遞減有序表A和B,并把它們合并成一個(gè)非遞減有序表C*/#endif//SQLIST_H_INCLUDEDSqList.cpp#include"SqList.h"voidmenu(){printf("\t\t\t順序表基本操作\n\n");printf("\t\t\t1.建立順序表\n");printf("\t\t\t2.遍歷順序表\n");printf("\t\t\t3刪除第i個(gè)元素\n");printf("\t\t\t4刪除值為x的元素\n");printf("\t\t\t5.奇數(shù)排在偶數(shù)之前\n");printf("\t\t\t6插入法生成遞增有序表\n");printf("\t\t\t7?兩個(gè)非遞減有序表La和Lb合并成非遞減有序表Lc\n");printf("\t\t\t0.退出\n\n”);}/*初始化順序表*/StatusInitList_Sq(SqList&L,intn){L.elem=(ElemType*)malloc(n*sizeof(ElemType));if(!L.elem)exit(OVERFLOW);L.length=0;L.listsize=n;returnOK;}/*建立順序表*/StatusCreateList_Sq(SqList&L){}/*輸出順序表*/voidPrintList_Sq(SqListL){}/*刪除第i個(gè)元素*/StatusDeleteList_Sq(SqList&L,inti,ElemType&e){/*刪除值為x的元素*/StatusDeleteListX_Sq(SqList&L,ElemTypex){}/*奇數(shù)排在偶數(shù)之前*/StatusAdjustList_Sq(SqList&L){}/*插入法生成遞增有序表*/StatusOrderList_sq(SqList&L,intn){}/*兩個(gè)非遞減有序表A和B,并把它們合并成一個(gè)非遞減有序表C*/voidMergeList_Sq(SqListLa,SqListLb,SqList&Lc){}main.cpp#include"SqList.h"intmain(){intchoice,n,i,x;SqListL,La,Lb,Lc;while(1){menu();printf("選擇你的操作:");scanf("%d",&choice);switch(choice){case1:if(CreateList_Sq(L))printf("順序表創(chuàng)建成珈n");elseprintf("順序表創(chuàng)建失敗\n");break;case2:PrintList_Sq(L);break;case3:printf("請輸入刪除元素的位置:");scanf("%d",&i);if(DeleteList_Sq(L,i,x))printf("被刪除元素值為:%d\n",x);elseprintf(”刪除失敗\n");break;case4:printf(”請輸入刪除元素值:");scanf("%d",&x);if(DeleteListX_Sq(L,x))printf("刪除成功\n");elseprintf(”刪除失敗\n");PrintList_Sq(L);break;case5:AdjustList_Sq(L);printf(噺鏈表為:\n");PrintList_Sq(L);break;case6:printf("請輸入順序表長度:");scanf("%d",&n);if(OrderList_sq(L,n)){printf("值有序順序表為:\n");PrintList_Sq(L);}elseprintf("順序表創(chuàng)建失敗\n");break;case7:printf("請輸入順序表La的長度:");scanf("%d",&n);OrderList_sq(La,n);printf("請輸入順序表Lb的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度高品質(zhì)大理石地磚采購專項(xiàng)合同4篇
- 個(gè)性化離婚合同范本:權(quán)益維護(hù)與情感關(guān)懷版
- 2025年度廚房員工勞動(dòng)合同員工培訓(xùn)與發(fā)展基金合同4篇
- 二零二五年度煤炭運(yùn)輸保險(xiǎn)合同示范文本3篇
- 2025年度明星代言合同終止條件與處理協(xié)議4篇
- 二零二五年度大學(xué)教授講座與培訓(xùn)服務(wù)合同2篇
- 二零二四年度展覽會(huì)現(xiàn)場展臺租賃與設(shè)計(jì)服務(wù)合同3篇
- 二零二五年度倉儲(chǔ)物流地產(chǎn)代理房屋買賣合同4篇
- 二零二五年度城市綠化提升工程合同3篇
- 醫(yī)院建設(shè)代建合同協(xié)議書范文
- 2024年人教版小學(xué)三年級信息技術(shù)(下冊)期末試卷附答案
- TB 10012-2019 鐵路工程地質(zhì)勘察規(guī)范
- 新蘇教版三年級下冊科學(xué)全冊知識點(diǎn)(背誦用)
- 鄉(xiāng)鎮(zhèn)風(fēng)控維穩(wěn)應(yīng)急預(yù)案演練
- 腦梗死合并癲癇病人的護(hù)理查房
- 蘇教版四年級上冊脫式計(jì)算300題及答案
- 犯罪現(xiàn)場保護(hù)培訓(xùn)課件
- 扣款通知單 采購部
- 電除顫操作流程圖
- 湖北教育出版社三年級下冊信息技術(shù)教案
- 設(shè)計(jì)基礎(chǔ)全套教學(xué)課件
評論
0/150
提交評論