#include <stdio.h>
typedef int ElemType; //重命名类型结构
#define MaxSize 50 //定义最大空间
// 创建名为SqList 长度为length 以整数型数组存储数据的结构
typedef struct {
ElemType data[MaxSize];//定义数据类型
int length;
}SqList;//结构名称
// 插入函数,存在返回值对原数据有修改,使用&引用
bool list_insert(SqList &L,ElemType element){
for ( int i = L.length; i>=2 ; i--) {
L.data[i] = L.data[i-1]; //数据后移
}
L.data[1]=element; //第二个位置插入数据,位1数0
L.length++;//长度增加
return true;
}
// 输出顺序表数据
void print_list(SqList L){
// 遍历数组
for ( int j = 0; j <L.length ; j++) {
printf("%3d",L.data[j]);
}
printf("\n");//换行,不然oj不通过
}
// 删除数据,bool形函数需返回true or false
bool list_del(SqList &L,ElemType x){
if(x<1 || x>L.length){
return false; //判断是否超出列表
}
for (int i = x-1; i <L.length; ++i) {
L.data[i]=L.data[i+1]; //数据前移
}
L.length--;//长度改变
return true;
}
int main() {
int i,x ;//定义两个变量用于输出
SqList L; //初始化顺序表
bool ret; //ret bool形函数返回值 true or false
L.data[0]=1;
L.data[1]=2;
L.data[2]=3;
L.length=3;
scanf("%d",&i);//&i表示变量i的地址,&是取地址符
ret = list_insert(L,i);
if(ret = true){
print_list(L);
} else{
printf("false");
}
scanf("%d",&x);//&i表示变量i的地址,&是取地址符
ret = list_del(L,x);
if(ret == true){
print_list(L);
} else{
printf("false");
}
return 0;
}
王道OJ第十课时16作业
最新推荐文章于 2025-05-29 23:36:29 发布