洛阳理工学院实验报告系别计算机班级学号姓名课程名称数据结构实验日期10/23实验名称顺序表得基本操作成绩实验目得:熟悉掌握线性表顺序存储结构,掌握与应用顺序表得查找、插入、删除等基本操作算法,训练与提高结构化程序设计能力及程序调试能力。实验条件:计算机一台,VisualC++6、0实验内容:问题描述以顺序表为存储结构实现以下基本操作:在第i个元素前插入一个新元素。查找值为x得某个元素。若成功,给出x在表中得位置;不成功给出提示信息。删除第i个元素,若成功,给出提示信息并显示被删元素得值;不成功给出失败得提示信息。数据结构类型定义typedefstruct{ ElemTypeelem[MAXSIZE]; ﻩIntlast; }SeqList;模块划分(1)创建顺序表输入函数:voidInput(SeqList*L,intn);(2)创建顺序表输出函数:voidOutput(SeqList*L);(3)创建顺序表得内容查找函数:int Locate(SeqList L,ElemTypee);(4)创建顺序表得插入函数:int InsList(SeqList*L,inti,ElemTypee);(5)创建顺序表得删除函数: intDelList(SeqList *L,inti,ElemType *e);(6)主函数:void main() 详细设计#include<stdio、h>#include <stdlib、h>#include〈malloc、h>#defineOK 1#defineERROR-1#define TRUE1#define FALSE0#defineElemTypeint#defineﻩMAXSIZE100 //最大长度typedef struct{ ElemTypeelem[MAXSIZE]; int last;}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); //返回序号 else return(-1);}intInsList(SeqList*L,inti,ElemTypee)//插入数据{ int k; 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->ele
数据结构顺序表实验报告 来自淘豆网www.taodocs.com转载请标明出处.