编辑代码

#include <stdio.h>  
#include <stdlib.h>

#define MAX_SIZE 100 

typedef struct {  
    int data[MAX_SIZE];  
    int length;  
} SqList;

void insert(SqList *list, int i, int e) {  
    if (i < 0 || i > list->length) {  
        printf("插入位置不合法!\n");  
        return;  
    }  
    if (list->length == MAX_SIZE) {  
        printf("线性表已满!\n");  
        return;  
    }  
    for (int j = list->length; j > i; j--) {  
        list->data[j] = list->data[j - 1];  
    }  
    list->data[i] = e;  
    list->length++;  
}

int main() {  
    SqList list;  
    list.length = 0;

    insert(&list, 0, 2);  
    insert(&list, 1, 6);  
    insert(&list, 2, 9);  
    insert(&list, 3, 8);

    printf("插入后的线性表为:");  
    for (int i = 0; i < list.length; i++) {  
        printf("%d ", list.data[i]);  
    }  
    printf("\n");

    return 0;  
}