专业班级:16软件工程 姓名: 孙永辉 学号:1601021055 分数:
实验题目: 顺序表的基本操作
一、 实验目的
1、 掌握线性表的顺序存储实现;
2、 掌握在存储体(顺序表)上的基本操作(插入、删除)。 二、 实验作业
在给出部分代码的基础上完成:
1. 已知元素在顺序表上的插入位置(序号),编写程序完成在顺序表上的插
入功能,将编写好的函数在主函数的调用。 SeqList insertlocal(SeqList L,int i,int x)
2. 已知顺序表中删除元素的位置(序号),请编写程序完成在顺序表上的删
除功能,将编写好的函数在主函数的调用。 SeqList deletelocal(SeqList L,int i) 3.创新加分题
两个顺序表L1,L2,它们的元素是整型、无序的,请编写一个函数完成将两个顺序表合并成一个有序的新顺序表。 SeqList hebing(SeqList L1, SeqList L2)
三、实验内容
1、SeqList insertlocal(SeqList L,int i,int x) {
int j; int f=0; if(i<=L.length-1) { f=1; for(j=L.length-1;j>=i;j--) L.data[j+1]=L.data[j]; L.data[i]=x; L.length++; }
else; if(f==0)
printf(\ printf(\
return L; }
2、SeqList deletelocal(SeqList L,int i) {
int j; int f=0; if(i<=L.length-1) { f=1;
1 / 4
专业班级:16软件工程 姓名: 孙永辉 学号:1601021055 分数:
for(j=i+1;j<=L.length-1;j++) L.data[j-1]=L.data[j]; L.length--; } else; if(f==0)
printf(\ printf(\
return L;
}
3、SeqList hebing(SeqList L1, SeqList L2) {
SeqList L; int i,j,k,temp; for(i=0;i<=L1.length-1;i++) L.data[i]=L1.data[i]; for(j=0;j<=L2.length-1;j++,i++) L.data[i]=L2.data[j]; L.length=i; for(k=L.length-1;k>0;k--) { for(i=0,temp=L.data[i];i<=k;i++) { if(temp<=L.data[i]) { temp=L.data[i]; j=i; } } L.data[j]=L.data[k]; L.data[k]=temp; } return L; }
2 / 4
专业班级:16软件工程 姓名: 孙永辉 学号:1601021055 分数: 四、实验结果
(实验结果截图) 1.
2.
3 / 4