大數(shù)據(jù)的結(jié)構(gòu)實(shí)驗(yàn)2_第1頁(yè)
大數(shù)據(jù)的結(jié)構(gòu)實(shí)驗(yàn)2_第2頁(yè)
大數(shù)據(jù)的結(jié)構(gòu)實(shí)驗(yàn)2_第3頁(yè)
大數(shù)據(jù)的結(jié)構(gòu)實(shí)驗(yàn)2_第4頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論