考研数据结构:C语言代码实现之线性表(顺序表)
2019-04-06 00:19
281 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42678370/article/details/89049572
- 头文件
#include<stdio.h> #include<stdlib.h> #define Maxsize 100
- 结构体类型及定义
typedef struct{ int data[Maxsize]; int length; }SqList;
- 顺序表创建
SqList* initlist(){ SqList *l; l=(SqList*)malloc(sizeof(SqList)); l->length=0; return l; }
- 顺序表按位置插入
int listinsert(SqList *L,int i,int e){ if(i<1||i>L->length+1) return 0; if(L->length>=Maxsize) return 0; int j; for(j=L->length;j>=i;j--) L->data[j]=L->data[j-1]; L->data[i-1]=e; L->length++; return 1; }
- 顺序表按位置删除
int listdelete(SqList *L,int i,int *e){ if(i<1||i>L->length) return 0; if(L->length<1) return 0; *e=L->data[i-1]; int j; for(j=i;j<L->length;j++) L->data[j-1]=L->data[j]; L->length--; printf("这次删除的数据是:%d\n",*e); return 1; }
- 输出顺序表
void printlist(SqList *L){ int i,k; for(i=0;i<=L->length-1;i++){ k=L->data[i]; printf("%d",k); } }
- 按值查找顺序表元素
int findx(SqList *L,int x,int *e){ int i=0; while(i<L->length+1&&L->data[i]!=x) i++; if(i>L->length){ printf("we can not find this number!\n"); return 0; } *e=i+1; printf("数据%d的位置在%d\n",x,*e); return 1; }
- 测试代码
void main(){ SqList *L; int k; L=initlist(); listinsert(L,1,1); printlist(L); printf("\n"); listinsert(L,1,2); printlist(L); printf("\n"); listinsert(L,1,3); printlist(L); printf("\n"); listinsert(L,1,4); printlist(L); printf("\n"); listinsert(L,1,5); printlist(L); printf("\n"); listdelete(L,3,&k); printlist(L); printf("这次删除的数据是:%d\n",k); findx(L,4,&k); printf("数据位置在:%d\n",k); findx(L,3,&k); }
(第一次写博客,主要是记录自己学习数据结构当中写好的一些c代码,以便查看,大家可以参考讨论…不足之处请指出)
相关文章推荐
- 考研数据结构:C语言代码实现之线性表(单链表)
- 数据结构 - 线性表(顺序表)C语言代码实现-处理整型数据(附详细解释)。 _清风明月
- 数据结构--线性表.顺序表(C语言实现)
- 数据结构学习-线性表-顺序表的代码实现
- 数据结构-线性表的顺序存储实现及各种操作代码
- 《数据结构》线性表:顺序存储结构(顺序表的)实现示例代码
- 数据结构之线性表代码实现顺序存储,链式存储,静态链表(选自大话数据结构)
- 数据结构学习笔记-线性表顺序存储(C语言实现)
- 数据结构 c语言实现顺序队列(输数字入队,字符出队)
- (C语言)单链表的顺序实现(数据结构一)
- 数据结构 C语言实现 线性表的链式实现
- 顺序存储线性表的C++实现——严蔚敏版《数据结构》
- 线性表之顺序表(C语言实现)
- 数据结构_1:线性表: C语言实现
- 线性表的顺序实现(c语言)
- 数据结构中线性表的c语言代码实现
- [数据结构]c语言实现顺序栈的入栈,出栈,清空,销毁等操作
- 顺序表链式结构实现多项式相加。参照《数据结构》中的伪代码
- 线性结构 -- 连续存储(数组), 1个简单的c语言代码实现.
- 数据结构 查找及排序算法、直接插入排序及顺序查找(c语言实现)