线性表-顺序表:新建、插入、删除和查询(代码)

顺序表:新建、插入、删除和查询(代码)

  1. 新建

#define MaxSize 50  //为顺序表分配内存空间
typedef int ElemType;
typedef struct {
    ElemType data[MaxSize];//ElemType类型的顺序表,顺序表内长度最大为MaxSize,超出此长度为越界
    int Length; //存储顺序表实际长度
}SqList;  //定义顺序表类型
SqList L;//定义一个顺序表
    //初始化顺序表
    L.data[0]=0;//数组下标从0开始  1
    L.data[1]=1;//2
    L.data[2]=2;//3
    L.data[3]=3;//4
    //顺序表初始化之后必须给出初始化的实际长度
    L.Length=4;//此时顺序表的实际长度
  1. 插入

/**
 * ------插入某个元素------
 * 主函数将顺序表传递进子函数,子函数中若会将此值改变,则子函数的形参将引用主函数的顺序表。
 * 1.第一步:判断需要插入的位置是否合法
 * 2.第二步:判断插入后数组是否会溢出
 * 3.第三步:将i-1~L.Length位置所对应的值均往后移
 * 4.第四步:将需要插入的值放入到要插入的地方
 * 5.第五步:将顺序表的实际长度增加,增加的数量为插入值的个数
 * @param L
 * @param i
 * @param inse
 * @return
 */
bool ListInsert(SqList &L,int i,ElemType inse){
    if(i<0 || i>L.Length){
        return false;
    }
    if(L.Length+1>MaxSize){
        return false;
    }
    for(int j=L.Length;j>=i;j--){
        L.data[j]=L.data[j-1];
    }
    L.data[i-1]=inse;
    L.Length++
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值