![順序表的應(yīng)用-數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告_第1頁(yè)](http://file4.renrendoc.com/view/ebc03b63251a1b44fc5c76640206b06d/ebc03b63251a1b44fc5c76640206b06d1.gif)
![順序表的應(yīng)用-數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告_第2頁(yè)](http://file4.renrendoc.com/view/ebc03b63251a1b44fc5c76640206b06d/ebc03b63251a1b44fc5c76640206b06d2.gif)
![順序表的應(yīng)用-數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告_第3頁(yè)](http://file4.renrendoc.com/view/ebc03b63251a1b44fc5c76640206b06d/ebc03b63251a1b44fc5c76640206b06d3.gif)
![順序表的應(yīng)用-數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告_第4頁(yè)](http://file4.renrendoc.com/view/ebc03b63251a1b44fc5c76640206b06d/ebc03b63251a1b44fc5c76640206b06d4.gif)
![順序表的應(yīng)用-數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告_第5頁(yè)](http://file4.renrendoc.com/view/ebc03b63251a1b44fc5c76640206b06d/ebc03b63251a1b44fc5c76640206b06d5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
大學(xué)數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告課程名稱數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)第(三)次實(shí)驗(yàn)實(shí)驗(yàn)名稱順序表的應(yīng)用學(xué)生姓名于歌專業(yè)班級(jí)學(xué)號(hào)實(shí)驗(yàn)成績(jī)指導(dǎo)老師(簽名)日期2018年9月30日一、實(shí)驗(yàn)?zāi)康?.學(xué)會(huì)定義線性表的順序存儲(chǔ)類型,實(shí)現(xiàn)C程序的基本結(jié)構(gòu),對(duì)線性表的一些基本操作和具體的函數(shù)定義。2.掌握順序表的基本操作,實(shí)現(xiàn)順序表的插入、刪除、查找以及求并集等運(yùn)算。3.掌握對(duì)多函數(shù)程序的輸入、編輯、調(diào)試和運(yùn)行過(guò)程。二、實(shí)驗(yàn)要求1.預(yù)習(xí)C語(yǔ)言中結(jié)構(gòu)體的定義與基本操作方法。2.對(duì)順序表的每個(gè)基本操作用單獨(dú)的函數(shù)實(shí)現(xiàn)。3.編寫完整程序完成下面的實(shí)驗(yàn)內(nèi)容并上機(jī)運(yùn)行。4.整理并上交實(shí)驗(yàn)報(bào)告。三、實(shí)驗(yàn)內(nèi)容:1.定義一個(gè)包含學(xué)生信息(學(xué)號(hào),姓名,成績(jī))的順序表,使其具有如下功能:(1)根據(jù)指定學(xué)生個(gè)數(shù),逐個(gè)輸入學(xué)生信息(2)逐個(gè)顯示學(xué)生表中所有學(xué)生的相關(guān)信息(3)根據(jù)姓名進(jìn)行查找,返回此學(xué)生的學(xué)號(hào)和成績(jī)(4)根據(jù)指定的位置可返回相應(yīng)的學(xué)生信息(學(xué)號(hào),姓名,成績(jī))(5)給定一個(gè)學(xué)生信息,插入到表中指定的位置(6)刪除指定位置的學(xué)生記錄(7)統(tǒng)計(jì)表中學(xué)生個(gè)數(shù)四、實(shí)驗(yàn)設(shè)計(jì)1.定義一個(gè)包含學(xué)生信息(學(xué)號(hào),姓名,成績(jī))的順序表,使其具有如下功能:(1)根據(jù)指定學(xué)生個(gè)數(shù),逐個(gè)輸入學(xué)生信息for(count=0;count<n;count++){scanf("%s%s%d",e.no,,&e.score);Input(&L,e);}StatusInput(SqList*L,ElemTypee){if(!(*L).elem)returnERROR;(*L).elem[(*L).length++]=e;returnOK;}(2)逐個(gè)顯示學(xué)生表中所有學(xué)生的相關(guān)信息StatusPrint(SqListL){printf("學(xué)號(hào)姓名成績(jī)\n");intcount;for(count=0;count<L.length;count++)Pri(L.elem[count]);returnOK;}voidPri(ElemTypee){printf("%8s|",e.no);printf("%20s|",);printf("%8d\n",e.score);}(3)根據(jù)姓名進(jìn)行查找,返回此學(xué)生的學(xué)號(hào)和成績(jī)StatusLocateElem(SqListL,ElemTypee){intcount;for(count=0;count<L.length;count++)if(strcmp(L.elem[count].name,)==0)break;if(count<L.length){printf("學(xué)號(hào)姓名成績(jī)\n");Pri(L.elem[count]);}elseprintf("%s在順序表中查不到!\n",);returnOK;}(4)根據(jù)指定的位置可返回相應(yīng)的學(xué)生信息(學(xué)號(hào),姓名,成績(jī))StatusLocateNum(SqListL,inti){if(i<1||i>L.length+1)returnOVERFLOW;printf("學(xué)號(hào)姓名成績(jī)\n");Pri(L.elem[i-1]);returnOK;}(5)給定一個(gè)學(xué)生信息,插入到表中指定的位置StatusListInsert(SqList*L,inti,ElemTypee){intcount;if(i<1||i>(*L).length+1)returnOVERFLOW;if((*L).length==(*L).MaxSize)(*L).elem=(ElemType*)realloc((*L).elem,sizeof(ElemType)*((*L).MaxSize+LISTINCREMENT));if(!(*L).elem)exit(OVERFLOW);for(count=(*L).length-1;count>=i-1;count--)(*L).elem[count+1]=(*L).elem[count];(*L).elem[i-1]=e;(*L).length++;returnOK;}(6)刪除指定位置的學(xué)生記錄StatusListDelete(SqList*L,inti){intcount;if(i<1||i>(*L).length+1)returnOVERFLOW;for(count=i;count<(*L).length;count++)(*L).elem[count-1]=(*L).elem[count];(*L).length--;returnOK;}(7)統(tǒng)計(jì)表中學(xué)生個(gè)數(shù)printf("表中學(xué)生的個(gè)數(shù)為:%d\n",L.length);(8)主函數(shù)intmain(){SqListL;ElemTypee;inti,count,n,number;InitList(&L);printf("請(qǐng)輸入學(xué)生的個(gè)數(shù):\n");scanf("%d",&n);printf("請(qǐng)輸入學(xué)號(hào)、姓名、成績(jī):\n");for(count=0;count<n;count++){scanf("%s%s%d",e.no,,&e.score);Input(&L,e);}printf("學(xué)生信息生成成功!\n");Pr();scanf("%d",&n);while(n>0&&n<7){switch(n){case1:Print(L);break;case2:printf("請(qǐng)輸入要查找的學(xué)生的姓名:");scanf("%s",);LocateElem(L,e);break;case3:printf("請(qǐng)輸入要查找的學(xué)生的位置:");scanf("%d",&i);LocateNum(L,i);break;case4:printf("輸入插入學(xué)生的位置、學(xué)號(hào)、姓名、成績(jī):");scanf("%d%s%s%d",&i,e.no,,&e.score);if(ListInsert(&L,i,e))printf("插入成功!\n");break;case5:printf("請(qǐng)輸入要?jiǎng)h除的學(xué)生的位置:\n");scanf("%d",&i);if(ListDelete(&L,i))printf("刪除成功!\n");break;case6:printf("表中學(xué)生的個(gè)數(shù)為:%d\n",L.length);}Pr();scanf("%d",&n);}if(n==7)printf("退出成功!");return0;}五、實(shí)驗(yàn)測(cè)試2.定義一個(gè)包含學(xué)生信息(學(xué)號(hào),姓名,成績(jī))的順序表,使其具有如下功能運(yùn)行界面六、總結(jié)附錄1:源代碼#include<stdio.h>#include<stdlib.h>#include<string.h>#defineLIST_INIT_SIZE100#defineLISTINCREMENT10#defineOK1#defineERROR0#defineOVERFLOW2typedefintStatus;typedefstruct{charno[8];charname[20];intscore;}Student;typedefStudentElemType;typedefstruct{ElemType*elem;intlength;intMaxSize;}SqList;StatusInitList(SqList*L){(*L).elem=(ElemType*)malloc(sizeof(ElemType)*LIST_INIT_SIZE);if(!(*L).elem)exit(OVERFLOW);(*L).length=0;(*L).MaxSize=LIST_INIT_SIZE;returnOK;}StatusInput(SqList*L,ElemTypee){if(!(*L).elem)returnERROR;(*L).elem[(*L).length++]=e;returnOK;}StatusListInsert(SqList*L,inti,ElemTypee){intcount;if(i<1||i>(*L).length+1)returnOVERFLOW;if((*L).length==(*L).MaxSize)(*L).elem=(ElemType*)realloc((*L).elem,sizeof(ElemType)*((*L).MaxSize+LISTINCREMENT));if(!(*L).elem)exit(OVERFLOW);for(count=(*L).length-1;count>=i-1;count--)(*L).elem[count+1]=(*L).elem[count];(*L).elem[i-1]=e;(*L).length++;returnOK;}StatusListDelete(SqList*L,inti){intcount;if(i<1||i>(*L).length+1)returnOVERFLOW;for(count=i;count<(*L).length;count++)(*L).elem[count-1]=(*L).elem[count];(*L).length--;returnOK;}StatusLocateElem(SqListL,ElemTypee){intcount;for(count=0;count<L.length;count++)if(strcmp(L.elem[count].name,)==0)break;if(count<L.length){printf("學(xué)號(hào)姓名成績(jī)\n");Pri(L.elem[count]);}elseprintf("%s在順序表中查不到!\n",);returnOK;}StatusLocateNum(SqListL,inti){if(i<1||i>L.length+1)returnOVERFLOW;printf("學(xué)號(hào)姓名成績(jī)\n");Pri(L.elem[i-1]);returnOK;}StatusPrint(SqListL){printf("學(xué)號(hào)姓名成績(jī)\n");intcount;for(count=0;count<L.length;count++)Pri(L.elem[count]);returnOK;}voidPri(ElemTypee){printf("%8s|",e.no);printf("%20s|",);printf("%8d\n",e.score);}voidPr(){printf("\n1.輸出全部的學(xué)生信息\n");printf("2.通過(guò)姓名查找學(xué)號(hào)和成績(jī)\n");printf("3.通過(guò)位置查找學(xué)生的信息\n");printf("4.插入學(xué)生信息\n");printf("5.刪除學(xué)生信息\n");printf("6.統(tǒng)計(jì)學(xué)生個(gè)數(shù)\n");printf("7.退出\n");printf("請(qǐng)輸入要使用的功能:");}intmain(){SqListL;ElemTypee;inti,count,n,number;InitList(&L);printf("請(qǐng)輸入學(xué)生的個(gè)數(shù):\n");scanf("%d",&n);printf("請(qǐng)輸入學(xué)號(hào)、姓名、成績(jī):\n");for(count=0;count<n;count++){scanf("%s%s%d",e.no,,&e.score);Input(&L,e);}printf("學(xué)生信息生成成功!\n");Pr();scanf("%d",&n);while(n>0&&n<7){switch(n){case1:Print(L);break;case2:printf("請(qǐng)輸入要查找的學(xué)生
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年專業(yè)經(jīng)銷住宅合同
- 2025年住宅購(gòu)買居間合同標(biāo)準(zhǔn)文本
- 2025年船舶涂料項(xiàng)目規(guī)劃申請(qǐng)報(bào)告模板
- 2025年加工鹽項(xiàng)目規(guī)劃申請(qǐng)報(bào)告模式
- 2025年水利設(shè)施開(kāi)發(fā)管理服務(wù)項(xiàng)目提案報(bào)告模板
- 2025年專業(yè)軟件技術(shù)支持合同示范文本
- 2025年石膏行業(yè)誠(chéng)信購(gòu)銷協(xié)議
- 2025年絕緣材料:絕緣套管項(xiàng)目提案報(bào)告模稿
- 2025年人才發(fā)展合作框架協(xié)議
- 2025年兒童監(jiān)護(hù)權(quán)放棄協(xié)議范例
- 機(jī)器狗:技術(shù)成熟性能優(yōu)越場(chǎng)景剛需放量在即2025
- 2025年村民代表會(huì)議講話稿(3篇)
- 《教育強(qiáng)國(guó)建設(shè)規(guī)劃綱要(2024-2035年)》解讀-知識(shí)培訓(xùn)
- 《加油站安全管理培訓(xùn)課件》
- (一模)烏魯木齊地區(qū)2025年高三年級(jí)第一次質(zhì)量語(yǔ)文試卷(含答案)
- 2024年第四季度 國(guó)家電網(wǎng)工程設(shè)備材料信息參考價(jià)
- 年度得到 · 沈祖蕓全球教育報(bào)告(2024-2025)
- 2025年日歷表(A4版含農(nóng)歷可編輯)
- 人工智能大模型
- 架橋機(jī)安全教育培訓(xùn)試卷及答案(共3頁(yè))
- 通信桿路工程施工
評(píng)論
0/150
提交評(píng)論