数据结构第四版实验一 顺序表的基本操作

发布 2019-08-30 20:24:20 阅读 8148

【实验目的】

1、掌握建立顺序表的基本方法。

2、理解和掌握顺序表元素查找算法。

3、掌握顺序表的插入算法的思想和实现。

4、掌握顺序表的删除算法的思想和实现。

实验内容】1、 建立一个顺序表,要求从键盘输入10个整数,并将该顺序表的元素从屏幕显示出来。

2、 用函数实现在顺序表中查找其中一个元素,如果找到,返回该元素在顺序表中的位置和该元素的值,否则提示无此元素。

3、用函数实现顺序表的插入和删除操作。由用户输入待插入元素及插入位置,将完成插入后的顺序表输出;由用户输入删除第几个元素,将完成删除后的顺序表输出。

实验源**】

#include<>

#include<>

#define maxsize 10

#include ""

typedef struct

int *k;

int length;

sqlist;

main()

sqlist a;

int i,x,y;

int listinsert_sq(sqlist &l,int i,int e);

printf("请输入顺序表长度");

scanf("%d",&

for(i=0;i<=

printf("%d ",printf("请输入要插入的位置和元素");

scanf("%d %d",&i,&x);

y=listinsert_sq(a,i,x);

for(i=0;i<

printf("%d ",int listinsert_sq(sqlist &l,int i,int e)

int j;

for(j=>=i;j--)

return 1;

头文件:""

typedef struct

datatype list[maxsize];

int size;

seqlist;

void listinitiate(seqlist *l) /初始化顺序表l

l->size=0; /定义初始数据元素个数。

int listlength(seqlist l) /返回顺序表l的当前数据元素个数。

return

int listinsert(seqlist *l,int i,int x) /在顺序表l的第i(0<=i<=size)个位置前插入数据元素值x

int j;

if (l->size>=10) /插入成功返回1,插入失败返回0

printf("顺序表已满无法插入!");

return 0;

else if(i<0||i>l->size)

printf("参数i不合法!");

return 0;

elsefor(j=l->size;j>i;j--)

l->list[j]=l->list[j-1]; 从后面向前一次后以数据,未插入做准备。

l->list[i]=x; /插入x

l->size ++元素个数加1

return 1;

int listdelete(seqlist *l,int i,int *x);

int j;

if(l->size<=0)

printf("顺序表已空无数据元素可删!");

return 0;

else*x=l->list[i];

for(j=i+1;j<=l->list-1;j++)

l->list[j-1]=l->list[j];

l->list--;

return 1;

int listget(seqlist l,int i,int *x)

if(i<0||i>l。size-1)

else实验结果】

实验心得】

高级口译翻译 第四版

1 欢迎希尔博士和夫人来访上海。welcometoshanghai,2 请允许我做自我介绍。pleaseallowmetointroducemyself.3 我叫洪建信,是中美医药公司的副总经理。4.我们很荣幸能请到您,我也特别高兴能认识您。it is a great honor to h e yo...

第四版市政管道总结

积给水排水管道 沟槽开挖宽度 b d0 2 b1 b2 b3 b 沟槽底部开挖宽度 d0 管外径 b1 管道一侧工作面宽度 b2 有支撑时,管道一侧支撑厚度 b3 灌渠一侧模板厚度。管道有现场施工的外防水层时,取800mm b1 采用机械回填管道侧面时,需满足机械作业宽度要求。沟槽开挖与支护 1.人...

C语言入门经典 第四版 4 循环

本文由贡献本文由 吧水元素贡献。文档可能在 端浏览体验不佳。建议您优先选择 或 源文件到本机查看。入门经典 第 版 入门经典 第 章循环 章。上一章学习了如何比较数据项,并根据其结果进行判断。我们可以根据程序的输入选择计算机如何做出反应。本章将介绍如何重复执行一个语句块,直到满足某个条件为止,这称为...