#include <stdio.h>
#define Maxsize 50
#define Elemtype int
typedef struct{
Elemtype data[Maxsize];//数据类型
int length; //数据长度
}Sqlist; //顺序表的类型定义
//int i,j;
//插入操作
bool Listinsert(Sqlist &L,int i,Elemtype e){
//本算法实现线性表的插入操作
if(i<1||i>L.length+1)
return false;
if(i>=Maxsize)
return false;
for(int j=L.length;j>=i;j--) //lenght 不是从0记得数
L.data[j]=L.data[j-1];
L.length+=1;
L.data[i-1]=e;
return true;
}
bool Listdelete (Sqlist &L,int i,Elemtype e){
//实现顺序表的删除,删除第i个元素,并将第i个元素存在e里
if(L.length<i||i<1)
return false;
e=L.data[i-1];
for(int j=i-1;j<L.length-1;j++)
L.data[j]=L.data[j+1];
L.length-=1;
return true;
}
int Locatelem(Sqlist &L,Elemtype e){
//在线性表中查找e,如若成功,则返回在表中的序号,若不成功,则返回0
for(int j=0;j<L.length;j++)
if(L.data[j]==e)
return j;
printf("no such element\n");
return 0;
}
C数据结构-线性表
最新推荐文章于 2024-02-28 12:31:47 发布