首页 > 编程知识 正文

数据结构顺序表的基本操作—插入

时间:2023-05-04 13:37:15 阅读:285217 作者:1220

#include <stdio.h>#include <stdlib.h>#define MaxSize 10typedef struct{int data[MaxSize]; 定义一个数组int length; //顺序表当前长度}SqList; //定义一个顺序表void InitList(SqList &L){int n;L.length=0; //初始化顺序表的当前长度为0printf("你想输入几个数据:n");scanf("%d",&n);if(n>=MaxSize){printf("超出范围n");exit(-1);}else{for(int i=0;i<n;i++){ printf("输入数据:n");scanf("%d",&L.data[i]);L.length++; //输入数据后长度逐渐增加}}printf("输入的数据是:n");for(int i=0;i<L.length;i++){printf("%dn",L.data[i]);}}bool ListInsert(SqList &L,int m,int e){if(m<1 || m>L.length+1){return false; //判断插入m是否在范围内,只能插入在第一个到现在长度+1(也就是插在尾巴上)范围内}if(L.length>=MaxSize){return false; //插入后的长度不能超过顺序表最大长度}for(int j=L.length;j>=m;j--) //让j=当前顺序表的长度,m后的数据依次后移{L.data[j]=L.data[j-1]; }L.data[m-1]=e; //让第m个数=e,但数组下标时m-1L.length++; //插入一个后,表的原有长度+1return true;}int main(){SqList L;InitList(L);ListInsert(L,3,3);printf("插入后的数据是:n");for(int i=0;i<L.length;i++){printf("%dn",L.data[i]);}return 0;}

运行结果:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。