顺序表插入
实验一 顺序表的插入
实验一 顺序表的插入
姓名:学号: 日期: 一、实验目的:
1.熟悉顺序表的基本结构、特点
2.熟悉顺序表插入的基本算法及实现
二、实验条件:
1.硬件:一台微机
2.软件:Windows操作系统和C语言系统(MS VC++6.0) 三、实验方法:
确定存储结构后,上机调试实现线性表的基本运算。 四、实验
:
1.编写函数实现顺序表中的插入
2.编写程序实现以下功能
(1) 创建一个顺序表:12,15,87,96,3;
(2) 调用插入函数,在上表中第三个位置上插入一个元素6;
(3) 输出最终顺序表中的元素。
五、实验算法:
# include
# define maxlen 100
struct sqlisttp
{
int elem[maxlen];
int last;
}v;
void indata()
{
int n;
第 1 页 共 4 页
实验一 顺序表的插入
printf("线性表初始化(0为结束标记):\n");
for(v.last=0; v.lastv.last+1)
printf("插入位置不合适~\n");
else if(v.last>maxlen-1)
printf("线性表已满~\n");
else
{
for(k=v.last; k>=i;k--)
v.elem[k+1]=v.elem[k];
v.elem[i]=x;
v.last++;
}
}
void outdata()
{
int i;
printf("\n插入后结果为:\n");
for(i=0;i记录元素个数;输入所要插入的元素位置及元素内容,实现线性表插入功能;将线性表及其个数写入out.dat文件并在屏幕上显示。
2.算法利用宏定义,使得线性表长度可轻松实现改变。 3.利用不同函数分步实现各功能,函数间耦合性较小。 七、效果图:
第 3 页 共 4 页
实验一 顺序表的插入
八、心得体会:
本实验较为简单,主要是针对线性表理论学习的一次感性认识。实验课中,由于比较急躁,忽视了很多细节,因此未能完成。课后我又花了一些时间重新编写了算法。算法中有意识地降低了各个函数间的耦合;运用全局变量,使得算法较为简洁,便于扩展算法功能;还为算法加上了一个文件输出函数。我体会到自己编程的乐趣,并加深了对于线性表的理解。
第 4 页 共 4 页