下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
計(jì)科2012級《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)報(bào)告二學(xué)號:2012091165姓名:劉意天實(shí)驗(yàn)名稱線性表的順序存儲結(jié)構(gòu)完成時間2014-3-14實(shí)驗(yàn)?zāi)康恼莆站€性表的概念,掌握順序表的概念及其各種運(yùn)算的原理。通過對線性表的查找、插入和刪除算法的實(shí)現(xiàn)以加深對線性表的順序存儲結(jié)構(gòu)的理解,為加強(qiáng)線性表在實(shí)際中的應(yīng)用打下基礎(chǔ)。用C語言實(shí)現(xiàn)并上機(jī)調(diào)試通過,認(rèn)真填寫實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)內(nèi)容1.已知某線性表(a1,a2,……an)=(1,2,……,n),利用C語言編程完成以下操作:(1)定義函數(shù)initsq_L():創(chuàng)建該線性表的順序存儲結(jié)構(gòu);(2)定義函數(shù)insertsq_L():在第I個數(shù)據(jù)元素前插入X,I和X均用鍵盤輸入;(3)定義函數(shù)deletesq_L():將原順序表中的Ai刪除,I由鍵盤輸入;(4)定義函數(shù)printsq_L():輸出線性表的內(nèi)容。提示:該線性表的數(shù)據(jù)可以是一組學(xué)生的成績。實(shí)驗(yàn)要求1.掌握線性表的概念,掌握順序表的概念及其各種運(yùn)算的原理。2.通過對線性表的查找、插入和刪除算法的實(shí)現(xiàn)以加深對線性表的順序存儲結(jié)構(gòu)的理解,為加強(qiáng)線性表在實(shí)際中的應(yīng)用打下基礎(chǔ)。3.用C語言實(shí)現(xiàn)并上機(jī)調(diào)試通過,認(rèn)真填寫實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)過程://線性順序表#include<stdio.h>#include<stdlib.h>#defineLIST_INIT_SIZE100//線性表存儲空間的初始分配量#defineLISTINCRESEMENT10//線性表存儲空間的分配增量#define OK1#defineERROR0#defineOVERFLOW-2typedefintelemType;//元素類型typedefstruct{ elemType*List;//線性表首地址 intlength;//當(dāng)前的長度 intlistsize;//當(dāng)前分配的存儲容量,以elemType為單位}SqList;AgainMalloc(SqList*L)//空間不夠時重新分配空間的函數(shù){ elemType*newbase;//分配一個臨時基址 newbase=(elemType*)realloc(L->List,(L->listsize+LISTINCRESEMENT)*sizeof(elemType)); if(!newbase)exit(OVERFLOW); L->List=newbase; L->listsize+=LISTINCRESEMENT;}//初始化一個空的線性表intInitList_Sq(SqList*L){ L->List=(elemType*)malloc(LIST_INIT_SIZE*sizeof(elemType)); if(!L->List)exit(OVERFLOW);//overflow L->length=0;//初始表為空表 L->listsize=LIST_INIT_SIZE;//初始表的存儲容量,為LIST_INIT_SIZE個elemType單位 returnOK;}//求表中元素的個數(shù)intListLength(SqList*L){ returnL->length;}//遍歷順序表voidTraverseList(SqList*L){ inti; for(i=0;i<L->length;i++) { printf("%d",L->List[i]); printf(""); } return;}//向表頭插入元素voidInsertFirst(SqList*L,elemTypee){ inti; if(L->length>=L->listsize) AgainMalloc(L); for(i=L->length-1;i>=0;i--) L->List[i+1]=L->List[i]; L->List[0]=e; L->length++; return;}//向表尾插入元素voidInsertLast(SqList*L,elemTypee){ if(L->length>=L->listsize) AgainMalloc(L); L->List[L->length]=e; L->length++; return;}//在表中第I個位置之前插入新元素eintInsert_Sq(SqList*L,elemTypee,intI){ inti; if(I<1||I>L->length+1)returnERROR; if(L->length>=L->listsize)//存儲空間不夠,要分配新的空間 AgainMalloc(L); for(i=L->length-1;i>=I-1;i--) L->List[i+1]=L->List[i]; L->List[I-1]=e; L->length++; returnOK;}//查找給出元素的位置,若存在,給出位置(從1開始算);若不存在,返回-1intSearch(SqList*L,elemTypee){ inti; for(i=0;i<L->length;i++) { if(L->List[i]==e) returni+1; } return-1;}//刪除第I個元素,并返回其值elemTypeDeleteElem(SqList*L,intI){ inti; elemTypetemp; if(I<1||I>L->length) { printf("I值越界\n"); exit(1); } temp=L->List[I-1]; for(i=I;i<L->length;i++) L->List[i-1]=L->List[i]; L->length--; returntemp;}//判斷線性表是否為空,為空返回1,不為空返回0intisEmpty(SqList*L){ if(L->length==0) return1; else return0;}main(){ SqListList1; InitList_Sq(&List1); printf("線性表是否為空?%d\n",isEmpty(&List1)); printf("現(xiàn)在插入一些元素....\n"); Insert_Sq(&List1,15,1);//第1個元素前插入元素15 InsertFirst(&List1,4);//表頭插入4 InsertFirst(&List1,10);//表頭插入10 InsertLast(&List1,13);//表尾插入13 InsertLast(&List1,20);//表尾插入20 printf("線性表的當(dāng)前長度為:\n"); printf("%d\n",ListLength(&List1)); printf("線性表的所有元素為:"); TraverseList(&List1); printf("\n"); printf("查找元素13:%d\n",Search(&List1,13)); printf("查找元素77:%d\n",Search(&List1,77)); printf("刪
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 房地產(chǎn)經(jīng)紀(jì)操作實(shí)務(wù)-《房地產(chǎn)經(jīng)紀(jì)操作實(shí)務(wù)》模擬試卷1
- 年度財(cái)務(wù)狀況及展望模板
- 《論語新解》讀書報(bào)告
- 人教版四年級數(shù)學(xué)上冊寒假作業(yè)(十六)(含答案)
- 四川省自貢市富順縣西區(qū)九年制學(xué)校(富順縣安和實(shí)驗(yàn)學(xué)校)2024-2025學(xué)年上學(xué)期九年級期中考試物理試卷(含答案)
- 二零二五年度立體廣告牌匾制作與安裝協(xié)議3篇
- 二零二五年建筑工程項(xiàng)目管理實(shí)訓(xùn)教材編寫與出版合同3篇
- 二零二五年度高速卷簾門安裝與性能檢測合同2篇
- 二零二五年度隗凝國際貿(mào)易合同3篇
- 2024年ESG投資發(fā)展創(chuàng)新白皮書
- 17.5-博物館管理法律制度(政策與法律法規(guī)-第7版)
- 衛(wèi)健系統(tǒng)深入開展矛盾糾紛“大走訪、大排查、大化解”專項(xiàng)行動工作方案
- 顛茄流浸膏實(shí)驗(yàn)方案及總結(jié)
- 投標(biāo)人情況表
- GB/T 34241-2017卷式聚酰胺復(fù)合反滲透膜元件
- GB/T 12494-1990食品機(jī)械專用白油
- 運(yùn)輸供應(yīng)商年度評價表
- 北京語言大學(xué)保衛(wèi)處管理崗位工作人員招考聘用【共500題附答案解析】模擬試卷
- 肺癌的診治指南課件
- 人教版七年級下冊數(shù)學(xué)全冊完整版課件
- 商場裝修改造施工組織設(shè)計(jì)
評論
0/150
提交評論