王道OJ第十课时16作业

#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;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值