怎么用c语言实现顺序表
教你怎么用c语言实现数据结构中顺序表的基本操作
操作方法
- 01
第一步c语言是没有引用的,可以使用一个const指针来模拟引用 void InitList(SqList *L) { L->last=0; }
- 02
这个是顺序表的初始化,不用管 int LenList(SqList L) { return L.last; }
- 03
插入操作,这一步是关键,插入顺序表 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; }
- 04
这是接着上面的第二步,判断的 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; }
- 05
/删除操作,这一步是删除操作 int DelList(SqList *L,int i) { int k; if((L->last<=0) || (i<0) || (i>L->last)) { printf("删除位置不合法\n"); return 0; }
- 06
这一步建立查找元素 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; }
- 07
这一步是输入线性表的长度和元素 printf("请输入线性表La的长度:"); scanf("%d",&n); La.last=n; printf("请输入线性表La中的元素\n"); for(i=0;i<n;i++) scanf("%d",&La.elem[i]);
- 08
解释一下canf(%d",&a) 是读取整型变量a在内存中的地址,而scanf("%d",a)是读取整型变量a的值。