![數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)2_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/13/e48d301d-48d4-4471-9553-287826730270/e48d301d-48d4-4471-9553-2878267302701.gif)
![數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)2_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/13/e48d301d-48d4-4471-9553-287826730270/e48d301d-48d4-4471-9553-2878267302702.gif)
![數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)2_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/13/e48d301d-48d4-4471-9553-287826730270/e48d301d-48d4-4471-9553-2878267302703.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告學(xué)號(hào)姓名專業(yè)、班級(jí)實(shí)驗(yàn)地點(diǎn)指導(dǎo)教師實(shí)驗(yàn)時(shí)間實(shí)驗(yàn)序號(hào): 2實(shí)驗(yàn)項(xiàng)目名稱:順序表的操作、實(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_I
2、NIT_SIZE 10# define LISTINCREMENT 5 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(" 無法分配空間! ");return 1;elsel->length=0;l->ListSize=L
3、IST_INIT_SIZE;printf("ok");return 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í)驗(yàn)了解了線性表的順序存儲(chǔ)結(jié)構(gòu)。實(shí)驗(yàn)過程中具體函數(shù)的實(shí)現(xiàn)遇到了問題,但通過百度與總結(jié)前輩的經(jīng)驗(yàn)解決了。五、教師評(píng)語簽名:日期:成績(jī)附源程序清單:1.#include<stdio.h>#include
4、<stdlib.h>#define LIST_INIT_SIZE 10#define LISTINCREMENT 5typedef 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(" 無法分配空 間 !&q
5、uot;);return 1;elsel->length=0;l->ListSize=LIST_INIT_SIZE; printf("okn"); return 0;void Alternate(sqlist *A,sqlist*B)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;newbas
6、e=(ElemType*)realloc(C->elem, (C->ListSize+LISTINCREMENT)*sizeof(ElemType);C->elem=newbase;C->ListSize+=LISTINCREMENT;else break; for(i=0;i<C->length;i+)C->elem2*i=A->elemi;C->elem2*i+1=B->elemi;for(i=0;i<C->length;i+)printf("%d ",C->elemi);void main(
7、)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;i<5;i+)scanf("%d",&A->elemi);A->length=i;printf(" 請(qǐng)輸 入 B 指向的 5 個(gè) 整 數(shù) : n");for(i=0;i<5;i+)scanf("%d",&B->
8、elemi);B->length=i;Alternate(A,B); printf("n");2.#include <stdio.h>#include <stdlib.h>#include <malloc.h>#define LIST_INIT_SIZE 100#define LISINCREMENT 10#define ElemType int#define Status inttypedef struct SqElemType *elem;int length;int listsize;SqList;Status InitLis
9、t(SqList *L)L->elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType); if(!L->elem)return 0;L->length=0;L->listsize=LIST_INIT_SIZE;return 1;插入/Status ListInsert(SqList *L,int i,ElemType e)int *q,*p; if(i<1|i>L->length)return 0; if(L->length>L->listsize) ElemType *newbas
10、e=(ElemType*)realloc(L->elem,(LIST_INIT_SIZE+LISINCREMENT)*size of(ElemType);if(!newbase)return 0;L->elem=newbase;L->listsize+=(LISINCREMENT);q=&(L->elemi-1); for(p=&(L->elemL->length-1);p>=q;-p)*(p+1)=*p;*q=e;+L->length;return 1;/ 刪 除Status ListDelete(SqList *L,int i
11、,ElemType e)int *p,*q;if(i<1|i>L->length)return 0;p=&(L->elemi-1);e=*p;q=L->elem+L->length-1;for(+p;p<=q;+p)*(p-1)=*p;-L->length;return 1;/ 查 找Status LocateElem(SqList *L, ElemType e)/本算法 實(shí)現(xiàn)查找順序表中 值為 e的元素,如果 查找成功,返回元素位序,否 則返回 0 int i;for(i=0;i<L->length;i+)if(L->
12、elemi=e)printf(" 被 查 找元素的位置 :%2dn",i+1);return i+1;/ 下 標(biāo)為 i 的元素 值 等于 e,返回其位 號(hào) i+1elseprintf(" 沒有該元素 !n");return 0;/ 退出循 環(huán),說明查找失 敗/ 刪除重 復(fù)void DelDouble(SqList *L)int i,j,k;int tmp;if(L->length = 0 )printf(" 表空n"); exit (1);/ 循 環(huán)檢測(cè)/ 對(duì)于每一 個(gè) i, 重 復(fù)檢測(cè) 一遍后 續(xù)元素/ 如果相等 ,刪除此 結(jié)
13、點(diǎn),后 續(xù)元素前移i=0;while ( i < L->length ) j = i + 1;tmp = L->elemi;while( j < L->length ) if( tmp = L->elemj) for( k = j+1; k < L->length; k+ ) L->elemk-1 = L->elemk;L->length-;/ 表最后元素位置 減 1 else j+;i+;int main(void)int i,j,e,lo,temp;SqList *L=(SqList*)malloc(sizeof(SqLis
14、t);InitList(L);/ 輸 入順序表printf(" 請(qǐng)輸順 序表的 長(zhǎng) 度:n");scanf("%d",&L->length);printf(" 請(qǐng)輸 入順序表的各 個(gè)元素 :n");for(i=0;i<L->length;+i)scanf("%d",&L->elemi);printf(" 輸入的 順序表是 :n");for (i=0;i<L->length;+i)printf("%d ",L->elem
15、i);printf("n");printf(" 請(qǐng)輸 入 插入的位置以及 節(jié)點(diǎn):n");/ 插 入scanf("%d%d",&j,&e);ListInsert(L,j,e);printf(" 插入后的順序表 為:n");for (i=0;i<L->length;+i)printf("%d ",L->elemi);printf("n");printf(" 請(qǐng)輸 入要 刪除的位置: ");/ 刪除scanf("%d",&lo);ListDelete(L,lo,temp);for (i=0;i<L->length;+i) printf("%d ",L->elemi);查找刪除重復(fù) printf("n&q
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼寧省名校聯(lián)盟2024年高三12月份聯(lián)合考試(考后強(qiáng)化版)英語試題(解析版)
- 2024-2025學(xué)年山東省煙臺(tái)市高三上學(xué)期期末學(xué)業(yè)水平考試英語試題(解析版)
- 江西省“三新”協(xié)同教研體2024-2025學(xué)年高三上學(xué)期12月聯(lián)考物理試題(解析版)
- 知識(shí)的力量在醫(yī)療領(lǐng)域的實(shí)踐與思考
- 二級(jí)建造師之二建建設(shè)工程法規(guī)及相關(guān)知識(shí)題庫
- 因病調(diào)崗申請(qǐng)書
- 不參加軍訓(xùn)申請(qǐng)書范文
- 環(huán)保材料在建筑行業(yè)的現(xiàn)狀與挑戰(zhàn)
- 電商與物流企業(yè)的智慧倉(cāng)儲(chǔ)解決方案探討
- 新版人教PEP版三年級(jí)下冊(cè)英語課件 Unit 6 Reading time
- 2024年初級(jí)養(yǎng)老護(hù)理員職業(yè)鑒定考試題庫(含答案)
- 人教八年級(jí)上冊(cè)英語第一單元《Section A (1a-2d)》教學(xué)課件
- 2023年版《安寧療護(hù)實(shí)踐指南(試行)》解讀課件
- 2024年銀行考試-興業(yè)銀行筆試考試歷年高頻考點(diǎn)試題摘選含答案
- 油氣勘探開發(fā)的勘探風(fēng)險(xiǎn)管理
- 10kV環(huán)網(wǎng)柜改造工程施工方案設(shè)計(jì)
- 電工班三級(jí)安全教育內(nèi)容范本
- 新生兒疾病篩查可疑陽性、陽性兒復(fù)查隨訪登記表
- 開學(xué)前幼兒園安全培訓(xùn)
- 2024年春學(xué)期人教版pep版小學(xué)英語五年級(jí)下冊(cè)教學(xué)進(jìn)度表
- 2023年湛江市麻章區(qū)教育局招聘事業(yè)編制教師考試真題
評(píng)論
0/150
提交評(píng)論