顺序表的学习

#include <stdio.h>

#define MaxSize 50
typedef int ElemType;//让顺序表存储其他类型的数据类型更加快捷

typedef struct {
    ElemType data[MaxSize];
    int len;
}SqList;

bool ListInsert(SqList &L,ElemType pos,ElemType element){
    //判断pos是否合法,pos是插入的位置
    if(pos<1 || pos>L.len+1){
        return false;
    }
    //判断存储长度是否已经满了
    if(L.len==MaxSize){
        return false;
    }
    //把后面的元素依次往后移
    for(int j=L.len;j>=pos;j--){
        L.data[j] = L.data[j-1];

    }
    L.data[pos-1] = element;
    L.len++;
    return true;
}

//打印顺序表
void PrintList(SqList L){
    int i;
    for (i = 0;i<L.len;i++){
        printf("%3d",L.data[i]);
    }
    printf("\n");
}

//删除
bool deleList(SqList &L,ElemType pos,ElemType &del){
    if(pos<1 || pos>L.len){
        return false;
    } else{
        del = L.data[pos-1];//保存被删除的值
        for(int j = pos;j<L.len;j++){
            L.data[j-1] = L.data[j];
        }
        L.len--;
    }

}

int main(){
    SqList L;//定义一个顺序表
    bool ret;//用来装返回值
    L.data[0] = 1;
    L.data[1] = 2;
    L.data[2] = 3;
    L.len = 3;
    int pos;
    int element;
    scanf("%d",&element);
    ret = ListInsert(L,2,element);
    if(ret){
        printf("insert sqlist success\n");
        PrintList(L);
    } else{
        printf("insert sqlist fail");
    }
    printf("\n------------------\n");
    int del;
    int j;
    scanf("%d",&j);
    ret = deleList(L,j,del);
    if(ret){
        printf("delete sqlist success\n");
        printf("delete elment = %d\n",del);
        PrintList(L);
    }
    return 0;
}

初始化顺序表(顺序表中元素为整型),里边的元素是1,2,3,然后通过scanf读取一个元素(假如插入的是6),插入到第2个位置,打印输出顺序表,每个元素占3个空格,格式为1  6  2  3,然后scanf读取一个整型数,是删除的位置(假如输入为1),然后输出顺序表  6  2  3,假如输入的位置不合法,输出false字符串。提醒,Language一定要选为C++。

  • 28
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
C语言顺序图书管理是一种用C语言实现的图书管理系统,通过顺序数据结构来存储和管理图书信息。顺序是一种线性的存储结构,可以将图书信息按顺序存储在连续的存储空间中。 对于图书管理系统,我们可以创建一个结构体来示图书的信息,包括图书编号、书名、作者、出版日期等字段。然后,我们可以使用一个一维数组来作为顺序,每个元素存储一个图书的信息。 在顺序图书管理系统中,我们可以实现以下功能: 1. 添加图书:当新书到馆时,可以通过输入图书信息,将图书添加到顺序中。 2. 删除图书:当图书被借走或丢失时,可以根据图书编号或书名等信息,在顺序中查找并删除对应的图书信息。 3. 查询图书:可以根据图书编号、书名、作者等信息,在顺序中查找并显示符合条件的图书信息。 4. 修改图书信息:可以根据图书编号或书名等信息,在顺序中定位到某本图书,并可以修改其相关信息,如作者、出版日期等。 5. 显示图书列:可以将顺序中的所有图书信息全部显示出来。 6. 图书统计:可以统计顺序中的图书数量、不同作者的图书数量等统计信息。 通过上述功能的实现,我们可以方便地进行图书的管理和查询。同时,使用顺序作为存储结构,还可以减少内存空间的浪费,提高数据的访问效率。 总之,C语言顺序图书管理系统可以帮助我们实现图书的存储、查询、修改和删除等功能,方便管理图书馆或个人的图书资源。同时,通过学习和实现该系统,我们也可以加深对C语言和顺序数据结构的理解和应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值