//静态创建线性表的基本操作
#include<stdio.h>
#define ElemType int
#define MaxSize 10
typedef struct{
ElemType data[MaxSize];
int length;
}SqList;
// 初始化线性表
void InitList(SqList &L){
int i=0;
for(i=0;i<MaxSize;i++){
L.data[i]=0;
}
L.length=0;
}
// 打印线性表
void PrintList(SqList L){
int i;
for(i=0;i<L.length;i++){
printf("L.data[%d]=%d\n",i,L.data[i]);
}
}
//插入数据 ListInsert(&L,i,e) 在线性表L的第i个位序上插入e
bool ListInsert(SqList &L,int i,int e){
//判断i的合法性 1<=i<=L.length+1
if(i<1||i>L.length+1){
return false;
}
//判断当前线性表长度 大于等于最长长度将无法插入
if(L.length>=MaxSize){
return false;
}
int j;
for(j=L.length;j>=i;j--){
L.data[j]=L.data[j-1];
}
L.data[i-1]=e;
L.length++;
return true;
}
//删除操作 ListDelete(&L,i,&e) 删除线性表位序为i的元素并返回删除的值
bool ListDelete(SqList &L,int i,int &e){
if(i<1||i>L.length){
retur
2025计算机考研王道数据结构代码线性表C++实践
于 2024-04-26 15:23:30 首次发布