#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#define MAXSIZE 20
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
typedef int Status;
typedef int ElemType;
typedef struct
{
ElemType data[MAXSIZE];
int length;
}SqList;
/*获得元素*/
Status GetElem( SqList L, int i, ElemType *e )
{
if( L.length=0 || i<1 || i>L.length)
return ERROR;
*e = L.data[i-1];
return OK;
}
Status InsertElem(SqList *L, int i, ElemType e)
{
if(L->length == MAXSIZE) /*满了插不进去*/
return ERROR;
if(i<1 || i>L->length+1) /*i不在范围内*/
return ERROR;
int k;
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;
}
Status DeleteElem(SqList *L, int i)
{
if(L->length==0)
return ERROR;
if(i>L->length || i<1)
return ERROR;
int k;
for(k=i-1;k<L->length-1;k++)
{
L->data[k] = L->data[k+1];
}
L->length--;
return OK;
}
int main()
{
int i ;
SqList *L = (SqList*)malloc(sizeof(SqList)); /*头文件:malloc.h/stdlib.h*/
L->length = 0; /*少了初始化的函数,只能自己设置长度为0 */
for(i=1;i<6;i++)
{
InsertElem(L,i,i);
/*insert函数里面已经有了length++了。 */
}
return 0;
}