怎么用c语言实现顺序表

2025-11-04 17:31:40

1、第一步c语言是没有引用的,可以使用一个const指针来模拟引用

void InitList(SqList *L)

{

L->last=0;

}

怎么用c语言实现顺序表

2、这个是顺序表的初始化,不用管

int LenList(SqList L)

{

return L.last;

}

怎么用c语言实现顺序表

3、插入操作,这一步是关键,插入顺序表

int InsertList(SqList *L,int i,ElemType x)

{

int k;

if(L->last>=MAX)

{

printf("表已满,无法插入\n");

return 0;

}

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

{

printf("插入位置不合法\n");

return 0;

}

怎么用c语言实现顺序表

4、这是接着上面的第二步,判断的

else

{

for(k=L->last;k>i-1;k--)

L->elem[k]=L->elem[k-1];

L->elem[i-1]=x;

L->last++;

return 0;

}

怎么用c语言实现顺序表

5、/删除操作,这一步是删除操作

int DelList(SqList *L,int i)

{

int k;

if((L->last<=0) || (i<0) || (i>L->last))

{

printf("删除位置不合法\n");

return 0;

}

怎么用c语言实现顺序表

6、这一步建立查找元素

int LocList(SqList L,ElemType x)

{

int i;

for(i=0;i<L.last;i++)

{

if(L.elem[i]==x)

{

printf("%d是线性表中第%d个元素\n",x,i+1);

return 0;

}

}

printf("没有找到%d\n",x);

return 0;

}

怎么用c语言实现顺序表

7、这一步是输入线性表的长度和元素

printf("请输入线性表La的长度:");

scanf("%d",&n);

La.last=n;

printf("请输入线性表La中的元素\n");

for(i=0;i<n;i++)

scanf("%d",&La.elem[i]);

怎么用c语言实现顺序表

8、解释一下canf(%d",&a) 是读取整型变量a在内存中的地址,而scanf("%d",a)是读取整型变量a的值。

怎么用c语言实现顺序表

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢