程序代码:
我写了一个,不过,实现算法我用的是我原来写的,和lz的差不多。
这个可以实现你想要的功能,集体的请lz自己修改。
#include <stdio.h>
#include <stdlib.h>
#define OK 1
#define ERROR 0
#define MAXSIZE 20
typedef int ElemType;
typedef struct
{
ElemType data[MAXSIZE];
int length;
}SqList;
int ListInsert(SqList *L, int i, ElemType e)
{
int k;
if (L->length == MAXSIZE)
return ERROR;
if (i < 1 || i > L->length + 1)
return ERROR;
if (i <= L->length)
{
for(k = L->length-1; k >= i - 1; --k)
L->data[k + 1] = L->data[k];
}
L->data[i-1] = e;
L->length++;
return OK;
}
int main(void)
{
SqList L;
ElemType e;
int i;
for (i = 0; i < 4; ++i)
{
L.data[i] = i;
}
L.length = 4;
scanf("%d", &e);
ListInsert(&L, 3, e);
for (i = 0; i < L.length; ++i)
{
printf("%d ", L.data[i]);
}
return 0;
}