顺序表创建-C语言实现
时间:2010-11-06 来源:shinaimiao
#include <stdio.h>
#include <stdlib.h>
#define OK 1
#define ERROR 0
#define LIST_INIT_SIZE 100
typedef int ElemType;
typedef int Status;
typedef struct
{
ElemType *elem;
int length;
int listsize;
}SqList;
Status InitList_Sq(SqList *L)
{
L->elem=(ElemType *)malloc(LIST_INIT_SIZE * sizeof(ElemType));
if(!L->elem)
exit(ERROR);
L->length=0;
L->listsize=LIST_INIT_SIZE;
return OK;
}
void CreateList(SqList * L,int len)
{
if(len>LIST_INIT_SIZE)
{
L->elem=(ElemType *)realloc(L->elem,len * sizeof(ElemType));
}
printf("请输入顺序表元素:\n");
int i = 0;
for(i = 0;i<len;i++)
{
scanf("%d",L->elem+i);
}
L->length=len;
printf("建立的顺序表为:\n");
for(i=0;i<len;i++)
{
printf("%d ",L->elem[i]);
}
printf("\n顺序表达一共%d个元素.\n",L->length);
}
void main()
{
SqList L;
int Sqlen;
if(!InitList_Sq(&L))
{
printf("初始化顺序表失败!\n");
exit(ERROR);
}
printf("输入顺序表个数:");
scanf("%d",&Sqlen);
CreateList(&L,Sqlen);
}