实验1 顺序表的基本操作 下载本文

专业班级: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