版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)用標(biāo)準(zhǔn)文檔數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)序號(hào): 2實(shí)驗(yàn)項(xiàng)目名稱:順序表的操作學(xué)號(hào)姓名專業(yè)、班級(jí)實(shí)驗(yàn)地點(diǎn)指導(dǎo)教師實(shí)驗(yàn)時(shí)間一、實(shí)驗(yàn)?zāi)康募耙?. 掌握線性表的順序存儲(chǔ)類型;2. 熟練掌握順序表的基本操作和具體的函數(shù)實(shí)現(xiàn)。二、實(shí)驗(yàn)設(shè)備(環(huán)境)及要求微型計(jì)算機(jī);windows 操作系統(tǒng);Microsoft Visual Studio 6.0集成開發(fā)環(huán)境。三、實(shí)驗(yàn)內(nèi)容與步驟1. 設(shè) A、B 均為用數(shù)組實(shí)現(xiàn)的List類型的順序表,試設(shè)計(jì)一個(gè)函數(shù)Alternate( A,B),從表 A 中第 1 個(gè)元素開始,交替地用表A 和表 B 中元素組成一個(gè)新表。2. 順序表表示和實(shí)現(xiàn)線性表的如下:# define LIST_
2、INIT_SIZE 10# define LISTINCREMENT 5 typedef structElemType *elem; int length ;int ListSize; sqlist;int InitList_sq(sqlist *l) /*initial the list l*/精彩文案實(shí)用標(biāo)準(zhǔn)文檔l-elem=(ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType);if (!l-elem)printf();return 1;elsel-length=0;l-ListSize=LIST_INIT_SIZE;printf(ok);r
3、eturn 0;void main()sqlist L;InitList_sq(&L);【要求】 1、實(shí)現(xiàn)順序表的插入、刪除、按值查找等基本操作;2、假設(shè)構(gòu)建的是非遞增有序順序表,設(shè)計(jì)算法實(shí)現(xiàn)從該有序順序表中刪除所有其值重復(fù)的元素,使得表中所有元素的值均不同。四、實(shí)驗(yàn)結(jié)果與數(shù)據(jù)處理精彩文案實(shí)用標(biāo)準(zhǔn)文檔五、分析與討論通過(guò)本次實(shí)驗(yàn)了解了線性表的順序存儲(chǔ)結(jié)構(gòu)。實(shí)驗(yàn)過(guò)程中具體函數(shù)的實(shí)現(xiàn)遇到了問(wèn)題,但通過(guò)百度與總結(jié)前輩的經(jīng)驗(yàn)解決了。五、教師評(píng)語(yǔ)成績(jī)簽名:日期:附源程序清單:1.#include#include#define LIST_INIT_SIZE 10#define LISTINCREMENT 5
4、typedef int ElemType;typedef structElemType *elem;int length ;int ListSize; sqlist;int InitList_sq(sqlist *l)/*initial the list l*/l-elem=(ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType);if (!l-elem)printf(無(wú)法分配空間!);return 1;elsel-length=0;l-ListSize=LIST_INIT_SIZE;printf(okn);return 0;void Alterna
5、te(sqlist *A,sqlist*B)精彩文案實(shí)用標(biāo)準(zhǔn)文檔ElemType i;sqlist list;sqlist *C;C=&list;InitList_sq(C);C-length=A-length+B-length;while(i)if(C-length=C-ListSize)ElemType *newbase;newbase=(ElemType*)realloc(C-elem,(C-ListSize+LISTINCREMENT)*sizeof(ElemType);C-elem=newbase;C-ListSize+=LISTINCREMENT;else break;for(i=
6、0;ilength;i+)C-elem2*i=A-elemi;C-elem2*i+1=B-elemi;for(i=0;ilength;i+)printf(%d ,C-elemi);void main()ElemType i;sqlist list1,list2,*A,*B;A=&list1;B=&list2;InitList_sq(A);InitList_sq(B);printf(請(qǐng)輸入 A 指向的 5 個(gè)整數(shù): n);for(i=0;ielemi);A-length=i;printf(請(qǐng)輸入 B 指向的 5 個(gè)整數(shù): n);for(i=0;ielemi);精彩文案實(shí)用標(biāo)準(zhǔn)文檔B-length
7、=i;Alternate(A,B);printf(n);2.#include #include #include #define LIST_INIT_SIZE 100#define LISINCREMENT 10#define ElemType int#define Status inttypedef struct SqElemType *elem;int length;int listsize;SqList;Status InitList(SqList *L)L-elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType);if(!L-elem
8、)return 0;L-length=0;L-listsize=LIST_INIT_SIZE;return 1;/-插入Status ListInsert(SqList *L,int i,ElemType e)int *q,*p;if(iL-length)return 0;if(L-lengthL-listsize)ElemType*newbase=(ElemType*)realloc(L-elem,(LIST_INIT_SIZE+LISINCREMENT)*sizeof(ElemType);if(!newbase)return 0;L-elem=newbase;L-listsize+=(LI
9、SINCREMENT);q=&(L-elemi-1);精彩文案實(shí)用標(biāo)準(zhǔn)文檔for(p=&(L-elemL-length-1);p=q;-p)*(p+1)=*p;*q=e;+L-length;return 1;/-刪除Status ListDelete(SqList *L,int i,ElemType e)int *p,*q;if(iL-length)return 0;p=&(L-elemi-1);e=*p;q=L-elem+L-length-1;for(+p;plength;return 1;/-查找Status LocateElem(SqList *L, ElemType e)/ 本算法實(shí)現(xiàn)
10、查找順序表中值為e 的元素,如果查找成功,返回元素位序,否則返回0int i;for(i=0;ilength;i+)if(L-elemi=e)printf(被查找元素的位置:%2dn,i+1);return i+1;/下標(biāo)為 i 的元素值等于e,返回其位號(hào)i+1elseprintf(沒(méi)有該元素 !n);return 0;/退出循環(huán),說(shuō)明查找失敗/-刪除重復(fù)void DelDouble(SqList *L)int i,j,k;int tmp;if(L-length = 0 )printf(表空 n); exit (1);精彩文案實(shí)用標(biāo)準(zhǔn)文檔i=0;while ( i length ) /循環(huán)檢測(cè)
11、j = i + 1;tmp = L-elemi;while( j length ) /對(duì)于每一個(gè)i,重復(fù)檢測(cè)一遍后續(xù)元素if( tmp = L-elemj)/如果相等 , 刪除此結(jié)點(diǎn),后續(xù)元素前移for( k = j+1; k length; k+ ) L-elemk-1 = L-elemk;L-length-;/表最后元素位置減1else j+;i+;int main(void)int i,j,e,lo,temp;SqList *L=(SqList*)malloc(sizeof(SqList);InitList(L);/-輸入順序表printf(請(qǐng)輸順序表的長(zhǎng)度:n);scanf(%d,&L
12、-length);printf(請(qǐng)輸入順序表的各個(gè)元素:n);for(i=0;ilength;+i)scanf(%d,&L-elemi);printf(輸入的順序表是:n);for (i=0;ilength;+i)printf(%d ,L-elemi);printf(n);printf(請(qǐng)輸入插入的位置以及節(jié)點(diǎn):n);/-插入scanf(%d%d,&j,&e);ListInsert(L,j,e);printf(插入后的順序表為:n);for (i=0;ilength;+i)printf(%d ,L-elemi);printf(n);printf(請(qǐng)輸入要?jiǎng)h除的位置:);/-刪除scanf(%d,&lo);精彩文案實(shí)用標(biāo)準(zhǔn)文檔ListDelete(L,lo,temp);for (i=0;ilength;+i)pri
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 大學(xué)生軍訓(xùn)心得體會(huì)(15篇)
- 服務(wù)合同與電信服務(wù)
- 終端店鋪陳列合同
- 建筑施工合同保證書
- 國(guó)際采購(gòu)合同法務(wù)
- 直播服務(wù)合同范本示例
- 雞苗訂購(gòu)合同模板
- 冷水購(gòu)銷合同
- 工程分包合同中的勞務(wù)報(bào)酬問(wèn)題
- 工程勞務(wù)分包合同協(xié)議書
- 2024-2030年中國(guó)IEPE加速度計(jì)行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
- DL∕T 679-2012 焊工技術(shù)考核規(guī)程
- 《義務(wù)教育數(shù)學(xué)課程標(biāo)準(zhǔn)(2022年版)》測(cè)試題+答案
- 人人講安全個(gè)個(gè)會(huì)應(yīng)急-暢通生命通道安全知識(shí)答題(試題及答案)
- 2024年招錄考試-法院書記員筆試考試歷年典型考題及考點(diǎn)含含答案
- 花錢托人找工作協(xié)議書模板
- 宮腔積膿診治中國(guó)專家共識(shí)(2023年版)解讀課件
- Y -S-T 581.8-2023 氟化鋁化學(xué)分析方法和物理性能測(cè)定方法 第 8 部分:硫酸根含量的測(cè)定 硫酸鋇重量法 (正式版)
- 2024年3月上海市考公務(wù)員面試題含參考答案
- 2024年二手車轉(zhuǎn)讓合同電子版(4篇)
- JT-T 1498-2024 公路工程施工安全監(jiān)測(cè)與預(yù)警系統(tǒng)技術(shù)要求
評(píng)論
0/150
提交評(píng)論