问题描述:
实现可变长顺序表的建表过程。任务要求:通过顺序表的初始化、插入算法,实现顺序表的建表,并依次输出顺序表元素。
【输入形式】
第一行输入整数N(1<=N<=100),表示创建长度为N的顺序表;
第二行输入N个整数,表示顺序表的N个元素,依次放入表中;
【输出形式】
依次输出顺序表的全部元素。(以空格分隔)
【样例输入】
5
1 2 3 4 5
【样例输出】
1 2 3 4 5
采用可变长顺序表,顺序表长度可根据数据存储需要,动态增加存储空间。
实现可变长顺序表要定义:常量INIT_SIZE表示顺序表初始化的初始长度;常量INCREM表示当存储空间不够,每次增加的单元数;顺序表可以存放任意数据类型的数据,上述定义中,名称ElemType表示此处代表基本类型int。
#include <stdio.h>
#include <stdlib.h>
#define INIT_SIZE 5 //初始分配的存储空间长度
#define INCREM 3 //存储空间再分配的增量
#define OK 1
#define ERROR 0
下面定义结构体类型
typedef int ElemType;
/*顺序表结构*/
typedef struct Sqlist{
ElemType *slist;
int length;
int listsize;
}Sqlist;
顺序表的初始化:<