怎么用c语言实现顺序表

作者:烟中隐约闪现 | 创建时间: 2023-05-11
教你怎么用c语言实现数据结构中顺序表的基本操作...
怎么用c语言实现顺序表

操作方法

第一步c语言是没有引用的,可以使用一个const指针来模拟引用 void InitList(SqList *L) { L->last=0; }

这个是顺序表的初始化,不用管 int LenList(SqList L) { return L.last; }

插入操作,这一步是关键,插入顺序表 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; }

这是接着上面的第二步,判断的 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; }

/删除操作,这一步是删除操作 int DelList(SqList *L,int i) { int k; if((L->last<=0) || (i<0) || (i>L->last)) { printf("删除位置不合法\n"); return 0; }

这一步建立查找元素 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; }

这一步是输入线性表的长度和元素 printf("请输入线性表La的长度:"); scanf("%d",&n); La.last=n; printf("请输入线性表La中的元素\n"); for(i=0;i<n;i++) scanf("%d",&La.elem[i]);

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

点击展开全文

更多推荐