-
. z.
理工学院实验报告
系别
计算机
班级
**
课程名称
数据构造
实验日期
10/23
实验名称
顺序表的根本操作
成绩
实验SeqList;
void Input(SeqList *L,int n) //输入函数
{ int i;
printf("请输入线性表的各元素值:\n");
for(i=0; i<n; i++)
scanf("%d",&L->elem[i]);
}
void Output(SeqList *L) //输出函数
{ int i;
for(i=0; i<=L->last; i++)
printf("%2d,",L->elem[i]);
printf("\n");
}
int Locate(SeqList L,ElemType e)//容查找函数
{ int i;
i=0;
while((i<=)&&([i])!=e)
i++;
-
. z.
if(i<=)
return(i+1); //返回序号
else
return(-1);
}
int InsList(SeqList *L,int i,ElemType e)//插入数据
{ int k;
if((i<1) || (i>L->last+2)) /*首先判断插入位置是否合法*/
{ printf("插入位置不合法\n");
return(ERROR);
}
if(L->last>= MA*SIZE-1)
{ printf("表已满无法插入");
return(ERROR);
}
for(k=L->last;k>=i-1;k--) //为插入元素而移动位置
L->elem[k+1]=L->elem[k];
L->elem[i-1]=e; //第i个元素的下标为i-1
L->last++;
return(OK);
}
int DelList(SeqList *L,int i,ElemType *e) //删除函数
/*在顺序表L中删除第i个数据元素,并用指针参数e返回其值。i的合法取值为1≤i≤+1 */
{ int k;
if((i<1)||(i>L->last+1))
{ printf("删除位置不合法!\n");
return(ERROR);
}
*e = L->elem[i-1]; /* 将删除的元素存放到e所指向的变量中*/
for(k=i; k<=L->last; k++)
-
. z.
L->elem[k-1] = L->elem[k]; /*将后面的元素依次前移*/
L->last--;
return(TRUE);
}
void main()//主函数
{SeqL
数据结构顺序表实验报告 来自淘豆网m.daumloan.com转载请标明出处.