数据结构之线性结构
线性结构
什么是线性表
零或多个数据元素的有限序列
线性表的基本操作
//线性表的基本操作 Init_List() //初始化 Get_List(L,i) //取表元 Locate_List(L,x) //按值查找 Lenth_List(L) //求长度 Insert_List(L,i,x) //插入 Delete_List(L,i) //删除
//顺序表的实现 #define ListSize 100 //线性表的容量 typedef int DataType; typedef struct { DataType data[ListSize]; //存储线性表中的元素 int length; //线性表的当前表长
}SqList;
//初始化运算 void Init_SqList(SqList *L)
{ int n,i; printf(“请输入线性表的长度:"); scanf("%d",&n); L->length=n; for(i=0;i<=n-1;i++)
{ printf("请输入第%d个数",i); scanf("%d",&L->data[i]); } }
插入运算
void Insert_SqList(SqList *L,int i,int x)
{ int j; if(L->length==MAX)
{ printf("表满"); return ; } if(i<0||i>L->length)
{ printf("插入位置错"); return ; } for(j=L->length-1;j>=i;j--)
{ L->data[j+1]=L->data[j]; } L->data[i]=x; L->length++; }
删除操作
//删除 void Delete_SqList(SqList *L,int i)}
{ int j; if(L->length==0)
{ printf("表空"); return; } if(i<0||i>L->length)
{ printf("第%d个元素不存在",i); return; } for(j=i+1;j<L->length;j++)
{ L->data[j-1]=L->data[j]; } L->length--;
![](https://images2015.cnblogs.com/blog/1166015/201705/1166015-20170518094812088-1367126604.png)