文档详情

经典数据结构上机题—答案.pdf

发布:2024-08-11约2.46万字共27页下载文档
文本预览下载声明

精品文档

数据结构上机实验题目

实验一线性表的顺序存储结构

实验学时2学时

背景知识:顺序表的插入、删除及应用。

目的要求:

1.掌握顺序存储结构的特点。

2.掌握顺序存储结构的常见算法。

实验内容

1.输入一组整型元素序列,建立顺序表。

2.实现该顺序表的遍历。

3.在该顺序表中进行顺序查找某一元素,查找成功返回1,否则返回0。

4.判断该顺序表中元素是否对称,对称返回1,否则返回0。

5.实现把该表中所有奇数排在偶数之前,即表的前面为奇数,后面为

偶数。

6.输入整型元素序列利用有序表插入算法建立一个有序表。

7.利用算法6建立两个非递减有序表并把它们合并成一个非递减有序

表。

8.利用该顺序结构实现循环队列的入队、出队操作。

8.编写一个主函数,调试上述算法。

#includestdio.h

#includestdlib.h

#defineOVERFLOW0

#defineMAXSIZE100

1。

欢迎下载

精品文档

typedefintElemType;

typedefstructlist

{ElemTypeelem[MAXSIZE];

intlength;

}Sqlist;

voidCreatlist(SqlistL)

{inti;{inti;

请输入顺序表的长度:请输入顺序表的长度://输入一组整型元素序列,建立一

个顺序表。

for(i=0;iL.length;i++)

}

voidprintlist(SqlistL)//以输出的形式实现对该顺序表的遍历

{inti;

for(i=0;iL.length;i++)

}

voidSearchlist(SqlistL,intx)//在顺序表中进行顺序查找某一元

素x,查找成功则返回其存储位置i,否则返回错误信息

{inti,k=-1;

for(i=0;iL.length;i++)

if(L.elem[i]==x){

if(k==-1)

}

voidInseri(SqlistL,inti,intx)//在顺序表的第i个位置上插入一

个元素x

{intj;

for(j=L.length;j=i;j--)

L.elem[j]=L.elem[j-1];

L.elem[j]=x;

L.length++;

}

voidDelete(SqlistL,inti)//删除顺序表中第i个元素

{intj;

for(j=i;jL.length;j++)

L.elem[j-1]=L.elem[j];

L.length--;

}

voidInsert(SqlistL,intx)//输入一个元素x,把它插入到有序表

2。

欢迎下载

精品文档

中,使顺序表依然有序。

{inti,j;

if(L.length==MAXSIZE)exit(OVERFLOW);//表满,不能插入

for(i=1;i=L.lengthL.elem[i-1]=x;i++);

for(j=L.length;j=i;j--)

L.elem[j]=L.elem[j-1];

L.elem[i-1]=x;

L.length++;

}

voidCreatlist_sorted(SqlistL)//利用有序表插入算法建立一个有

序表

{inti,num;

ElemTypex;

L.length=0;L.length=0;

请输入顺序表的长度:请输入顺序表的长度:请输入顺序表的长度:

for(i=1;i=num;i+

显示全部
相似文档