#include <stdio.h> //导入基本的库语句
#define MaxSize 10//链表的最大长度
typedef struct{
int data[MaxSize];
int length;
} SqList;//链表的数据结构
void InitList(SqList &L){
for(int i=0;i<6;i++){
L.data[i]=0;
}
L.length=6;
}
bool ListInsert(SqList &L,int i,int e){//插入操作
if(i<1||i>L.length+1)//当插入的位置小于1,or插入的位置大于长度加1
return false;
if(L.length>=MaxSize)//静态分配时,链表的长度不能大于链表的长度,
return false;
for(int j=L.length;j>=i;j--){//插入操作涉及到位置的移动,数据的交换
printf("%d",L.data[i]);
L.data[j]=L.data[i];
}
L.data[i-1]=e;
L.length++;
return true;
}
bool ListDelete(SqList &L,int i,int e){//删除操作
if(i<1||i>L.length)
return false;
e=L.data[i-1];
printf("删除元素为%d",e);
for(int j=i;j<L.length;j++)
L.data[j-1]=L.data[j];
L.length--;
return true;
}
int LocateElem(SqList &L,int e){
int i;
for(i=0;i<L.length-1;i++)
if(L.data[i]==e)
printf("%d查找成功%d",i+1,L.data[i]);
return i+1;
}
int main(){
SqList L;
int e;
InitList(L);
L.data[6]=6;
ListInsert(L,5,66);
// ListDelete(L,5,e);
LocateElem(L,66);
for(int i=0;i<L.length;i++){
printf("数据为:data[%d]=%d\n",i,L.data[i]);
}
printf("当前链表的数据长度:%d\n",L.length);
return 0;
}
顺序表操作代码的实现
于 2022-08-28 23:40:20 首次发布