#include <stdio.h>
#include <stdlib.h>
#define Listsize 100
typedef struct
{
int data[Listsize];
int length;
}List;
//初始化顺序表
void InitList(List* L)
{
L->length=0;
}
//求表长
int LengthList(List* L)
{
return L->length;
}
//获取第K个节点数据
int GetData(List* L,int k)
{
return L->data[k-1];
}
//在第K个位置插入元素
int InsertList(List* L, int x, int k)
{
int i;
if(k>0 && k<L->length+1){
for(i=L->length;i>=k;i--) //从表尾开始向后移动元素
L->data[i]=L->data[i-1];
L->data[k-1]=x; //将需要插入的数据插入第K个位置
L->length++; //插入成功后表长+1
return 1;
}
else return -1;
}
//在第K个位置删除元素
int DelList(List* L, int k)
{
int i;
if(k>0 && k<L->length+1){
for(i=k-1;i<=L->length-2;i++) //从删除点后一位开始向前移动
L->data[i]=L->data[i+1];
L->length--; //删除成功后表长-1
return 1;
}
else return -1;
}
//查找某值
int SearchList(List* L,int x)
{
int i;
for(i=0;i<=L->length-1;i++){
if(L->data[i]==x) //查找成功并返回其位置(i+1)
return i+1;
else return -1;
}
}
顺序表的插入、删除及查找
最新推荐文章于 2022-10-09 16:34:35 发布