|
发表于 2015-4-4 16:12:15
|
显示全部楼层
#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 10
#define SIZEINCREMENT 5
typedef int ElemType;
typedef struct _SqList
{
ElemType *data;
int size;
}SqList;
void Init_SqList(SqList * sqlist)
{
int i;
sqlist->data=(ElemType *)malloc(sizeof(ElemType)*MAXSIZE);
for(i=0; i<MAXSIZE; i++)
{
(sqlist->data)[i] = 0;
}
sqlist->size = 0;
}
void En_SqList(SqList *sqlist,ElemType i,int index)
{
int j;
if( sqlist->size == MAXSIZE )
{
sqlist->data =(ElemType *)realloc(sqlist->data,sizeof(ElemType)*(sqlist->size+SIZEINCREMENT));
}
for(j=sqlist->size-1;j>=index-1;j--)
{
(sqlist->data)[j] = (sqlist->data)[j+1] ;
}
(sqlist->data)[index-1] = i;
sqlist->size++;
}
void Del_SqList(SqList *sqlist,ElemType *m,int index)
{
int i;
if(sqlist->size == 0)
{
printf("the sqlist is empty\n");
return;
}
*m=(sqlist->data)[index-1];
sqlist->size--;
for(i=index; i<sqlist->size; i++)
{
(sqlist->data)[i] = (sqlist->data)[i-1];
}
}
void main()
{
int i,m;
SqList sqlist;
Init_SqList(&sqlist);
for(i=1; i<15; i++)
{
En_SqList(&sqlist,i,i);
}
for(i=0; i<sqlist.size; i++)
{
printf("%d ",(sqlist.data)[i]);
}
printf("\n");
Del_SqList(&sqlist,&m,5);
printf("the 5th num is %d\n",m);
}
|
|