预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

洛阳理工学院实验报告系别计算机班级学号姓名课程名称数据结构实验日期10/23实验名称顺序表得基本操作成绩实验目得:熟悉掌握线性表顺序存储结构,掌握与应用顺序表得查找、插入、删除等基本操作算法,训练与提高结构化程序设计能力及程序调试能力。实验条件:计算机一台,VisualC++6、0实验内容:问题描述以顺序表为存储结构实现以下基本操作:在第i个元素前插入一个新元素。查找值为x得某个元素。若成功,给出x在表中得位置;不成功给出提示信息。删除第i个元素,若成功,给出提示信息并显示被删元素得值;不成功给出失败得提示信息。数据结构类型定义typedefstruct{ElemTypeelem[MAXSIZE];ﻩIntlast;}SeqList;模块划分(1)创建顺序表输入函数:voidInput(SeqList*L,intn);(2)创建顺序表输出函数:voidOutput(SeqList*L);(3)创建顺序表得内容查找函数:intLocate(SeqListL,ElemTypee);(4)创建顺序表得插入函数:intInsList(SeqList*L,inti,ElemTypee);(5)创建顺序表得删除函数:intDelList(SeqList*L,inti,ElemType*e);(6)主函数:voidmain()详细设计#include<stdio、h>#include<stdlib、h>#include〈malloc、h>#defineOK1#defineERROR-1#defineTRUE1#defineFALSE0#defineElemTypeint#defineﻩMAXSIZE100//最大长度typedefstruct{ElemTypeelem[MAXSIZE];intlast;}SeqList;voidInput(SeqList*L,intn)//输入函数{inti;printf(”请输入线性表得各元素值:\n");for(i=0;i〈n;i++)scanf("%d”,&L—>elem[i]);}voidOutput(SeqList*L)//输出函数{inti;for(i=0;i<=L—〉last;i++)printf(”%2d,",L—〉elem[i]);printf("\n”);}intLocate(SeqListL,ElemTypee)//内容查找函数{ﻩinti;i=0;while((i<=L、last)&&(L、elem[i])!=e)i++;if(i〈=L、last)return(i+1);//返回序号elsereturn(-1);}intInsList(SeqList*L,inti,ElemTypee)//插入数据{intk;if((i<1)||(i>L->last+2))/*首先判断插入位置就是否合法*/{printf("插入位置不合法\n”);ﻩreturn(ERROR);}ﻩif(L—>last>=MAXSIZE—1){ﻩprintf("表已满无法插入");return(ERROR);}for(k=L—>last;k〉=i-1;k-—)//为插入元素而移动位置L—>elem[k+1]=L->elem[k];L->elem[i-1]=e;//第i个元素得下标为i—1ﻩL->last++;return(OK);}intDelList(SeqList*L,inti,ElemType*e)//删除函数/*在顺序表L中删除第i个数据元素,并用指针参数e返回其值。i得合法取值为1≤i≤L、last+1*/{intk;ﻩif((i〈1)||(i>L-〉last+1)){ﻩprintf(”删除位置不合法!\n");ﻩﻩﻩreturn(ERROR);ﻩ}ﻩ*e=L—〉elem[i—1];/*将删除得元素存放到e所指向得变量中*/for(k=i;k<=L->last;k++)ﻩL-〉elem[k-1]=L—>elem[k];/*将后面得元素依次前