您好,欢迎来到爱够旅游网。
搜索
您的当前位置:首页实验一 顺序表

实验一 顺序表

来源:爱够旅游网


实验一 顺序表

一、预备知识

1.顺序表的存储结构形式及其描述

2.顺序表的建立、查找、插入和删除操作

二、实验目的

1.掌握顺序表的存储结构形式及其描述

2.掌握顺序表的建立、查找、插入和删除操作

三、实验内容

1.编写函数,输入一组整型元素序列,建立一个顺序表。

2.编写函数,实现对该顺序表的遍历。

3.编写函数,在顺序表中进行顺序查找某一元素,查找成功则返回其存储位置i,否则返回错误信息。

4.编写函数,实现在顺序表的第i个位置上插入一个元素x的算法。

5.编写函数,实现删除顺序表中第i个元素的算法。

6.编写利用有序表插入算法建立一个有序表的函数。

7.编写函数,实现输入一个元素x,把它插入到有序表中,使顺序表依然有序。

四、实验说明 1.顺序表的存储定义

#define MAXSIZE 100 //顺序表的最大元素个数

typedef int ElemType;//顺序表的元素类型

typedef struct

{ElemType elem[MAXSIZE];//静态线性表

int length; //顺序表的实际长度

} SqList;//顺序表的类型名

举例4:

#include

#define MaxSize 100

typedef int DataType;

typedef struct//定义结构体Seqlist

{

DataType list[MaxSize];

int size;

} SeqList;

int ListLength(SeqList L)//当前数据元素个数

{

return L.size;

}

int ListInsert(SeqList *L,int i,DataType x)

{

int j;

if(L->size>=MaxSize)

{

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

return 0;

}

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

{

printf(\"i is error\");

return 0;

}

else

{

for(j=L->size; j>i-1; j--)L->list[j]=L->list[j-1];

L->list[i-1]=x;

L->size++;

return 0;

}

}

int main(void)

{

SeqList La;

int i,x;

int n,m;//线性表长度

printf(\"请输入线性表La的长度:\");

scanf (\"%d\

La.size=n;

printf(\"请输入线性表La中的元素:\");

for(i=0; iscanf (\"%d\

printf(\"请输入要插入到线性表La中的数字x和插入的位置i:\");

scanf(\"%d%d\

ListInsert(&La,i,x);

printf(\"线性表La=\");

for(i=0; iprintf(\"%d \

return 0;

}

五、注意问题

1.插入、删除时元素的移动原因、方向及先后顺序。

2.理解不同的函数形参与实参的传递关系。

六、实验报告

根据实验情况和结果撰写并递交实验报告。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务