美文网首页
顺序表基本操作之插入

顺序表基本操作之插入

作者: 爱生活_更爱挺自己 | 来源:发表于2021-03-25 20:33 被阅读0次

    插入(一)

    #include<stdio.h>
    #include<stdlib.h>
    
    #define MaxSize 10  //定义最大长度 
    
    typedef struct
    {
        int data[MaxSize];  //用静态数组存放元素
        int length; //顺序表的长度
    }SqList;    //顺序表的类型定义
    
    void InsertList(&SqList L, int i, int e)
    {
        for(int j == L.lenth; j >= i; j--)
        {
            L.data[j1] = L.data[j-1];
        }
        
        L.data[i-1] = e;
        L.length++;
    }
    
    int main(int argc, char *const argv[]){
        SqList L;       //声明一个顺序表
        InitList(L);    //初始化顺序表
        //.....省略其他操作
        InsertList(L,3,3);  //插入
        return 0;
        
    }
    

    插入(二)

    • 在(一)的基础上加入了i值的范围得判断
    #include<stdio.h>
    #include<stdlib.h>
    
    #define MaxSize //定义最大长度
    
    typedef struct 
    {
        int data[MaxSize];  //用静态数组存放数据元素
        int length; //顺序表的当前长度
    }SqList;    //顺序表的类型定义
    
    bool ListInsert(Sqlist &L, int i, int e)
    {
        if(i < 1 || i > L.length+1) //判断i的范围是否有效
        {
            return false;
        }
        
        if(L.length >= L.MaxSize)   //当前存储空间已满,不能插入
        {
            return false;
        }
        
        for (int j = l.length; j>= i; j--)
        {
            L.data[j] = L.data[j-1];
        }
        
        L.data[i-1] = e;
        L.length++;
        
        return true;
    }
    

    相关文章

      网友评论

          本文标题:顺序表基本操作之插入

          本文链接:https://www.haomeiwen.com/subject/mxcibktx.html