感觉前几天学的是假的顺序表,今天终于有个关于顺序表的标准,只涉及初步的建表,输入,输出
#include<stdio.h>
#include<stdlib.h>
#define list_size 10000//后面定义顺序表的容量用到,更改数据可改变容量
#define listincreasement 10000
typedef int element;
typedef struct
{
element *elem;
int listsize;
int length;顺序表当前长度
}Sqlist;//定义一个顺序表
int initializer_list(Sqlist &L)//对顺序表初始化
{
L.elem = (int *)malloc(sizeof(int));//另顺序表只占一个整形变量的空间
if(!L.elem) return -1;
L.length = 0;//;顺序表初始化时长度为0
L.listsize = list_size;
return 0;
}
int creatnewlist(Sqlist &L, int n)//建立一个顺序表
{
int i;
L.elem = (int *)malloc(sizeof(int)*list_size);//另顺序表最大容量为list_size个整形变量
if(!L.elem) return -1;
else
{
for(i = 0;i<n;i++)
{
scanf("%d", &L.elem[i]);
L.length++;
}
}
return 0;
}
void show(Sqlist &L)
{
int i;
for(i = 0;i<L.length;i++)
{
if(i==L.length-1) printf("%d\n", L.elem[i]);
else printf("%d ", L.elem[i]);
}
}
int main()
{
Sqlist L;
int n;
scanf("%d", &n);
initializer_list(L);
creatnewlist(L, n);
show(L);
return 0;
}