Dev C++ 实现在一串数组中插入一个元素 insert

#include "stdio.h"

#define MaxSize 100
#define ERROR 0
#define ok 1

typedef int Status;
typedef int Elemtype;
typedef struct sq{
    Elemtype elem[MaxSize];//数组长度元素个数为MaxSize 
    int length;
}SqList;
void init_Sq(SqList &L){//初始化顺序表L 
    L.length = 0;
    return ;
}
Status List_insert(SqList &L,int i,Elemtype e){//在顺序表L的第i个位置插入元素e  List_insert
    int j;
    if(i<0||i>L.length)
    return ERROR;
    if(L.length>=MaxSize)
    return ERROR;
    
    for(j=L.length-1;j>=i;j--){
        L.elem[j+1] = L.elem[j];
    }
    L.elem[i] = e;
    L.length = L.length+1;
    return ok;
}
int main(){
    SqList La;
    int i ;
    init_Sq(La);//初始化顺序表La 
    for(i=0;i<10;i++)//给顺序表La里输入10个数 
    {
        La.elem[i] = 2*i+1;
    }La.length = 10;
    for(i = 0;i<10;i++)//输出顺序表La里的元素 
    {
        printf("%d",La.elem[i]);
    }putchar('\n');
    
    List_insert(La,5,8);

//在数组第五个位置i(这里的i是数组的下标) i=5 插入元素e,e=8,第五个位置的元素后移一位 
    
    for(i = 0;i<La.length;i++)
    {
        printf("%d",La.elem[i]);
    }
    return 0;
    
}

猜你喜欢

转载自blog.csdn.net/m0_74135466/article/details/127556360