搜档网
当前位置:搜档网 › 线性表实验报告

线性表实验报告

线性表实验报告
线性表实验报告

西安财经学院统计学院

《算法与数据结构》实验报告

2015.12.13

实验名称线性表实验室实验楼314教室

int locat_sq(Sqlist L,ElemType e);

/*主函数部分*/

void main()

{

int i,k,loc;ElemType e,x;

char ch;

do { printf("\n\n\n");

printf("\n printf("\n printf("\n printf("\n printf("\n printf("\n 1.建立线性表"); 2.插入元素"); 3.删除元素"); 4.查找元素"); 5.元素个数"); 0.结束程序运行");

printf("\n=======================");

scanf("%d",&k)

switch(k)

{

case 1:

{

creat_list(&a);

out_list(a);

}break; case 2:

{

printf("\n 请输入插入位置(大于等于 1,小于等于%d):",a.length+1);

scanf("%d",&i);

printf("\n 请输入要插入的元素值");

scanf("%d",&e);

insert_sq(&a,i,e);

out_list(a);

}

break; case 3:

{

printf("\n 请输入要删除元素位置 ( 大于等于 1, 小于等于%d):",a.length); scanf("%d",&i); x=delete_sq(&a,i); if(x!=-1) printf("\n 要删除的元素为%d",x); else printf("\n 要删除的元素不存

在!"); }break;

case 4:

{

printf("\n 请输入要查找的元素值");

scanf("%d",&e);

loc=locat_sq(a,e);

if(loc==-1)

printf("\n 未找到指定的元素");

else printf("\n 已找到,元素位置为%d",loc);

}

break;

}while(k!=0);

printf("\n ch=getchar()");

}//主函数结束 /*建立线性表的函数*/ void creat_list(Sqlist *L) { int i; printf("请输入线性表的长度:"); scanf("%d",&L->length);

for(i=0;ilength;i++) { printf("数据%d",i); scanf("%d",&(L->a[i])); } } /*性表的函数*/

void out_list(Sqlist L)

{

int i;

for(i=0;i<=L.length-1;i++)

printf("%10d",L.a[i]);

}

/*在线性表第 i 个位置插入元素 e*/

void insert_sq(Sqlist *L,int i,ElemType e)

{

int j;

if(L->length==MAXSIZE)

printf("线性表已满!\n");

else if(i<1||i>L->length+1)

printf("输入位置有错!\n");

else

{

for(j=L->length-1;j>=i-1;j--)

L->a[j+1]=L->a[j];

L->a[j-1]=e; L->length++;

}

} /*删除第 i 个元素,返回其值*/

ElemType delete_sq(Sqlist *L,int i)

{

ElemType x;int j;

if(L->length==0) printf("空表!\n");

else if(i<1||i>L->length)

{

printf("输入位置错!\n"); x=-1;

}

相关主题