2.4节阐述了链式数组表的理论思想,并给出了可能的代码实现。
但是这些代码是零散的,未经过调试,并没有形成一个可用的程序。
为了简化编程模型,假设我们要处理的数据元素为整型,数据来源为键盘输入,右边数组固定大小。
添加main()函数,以及输入输出函数,按照软件函数化(模块化)方法设计。
#include <stdio.h>
#include <time.h>
struct list //构造左边信息结构体
{
int *plistdate;
int curr_length;
int max_length;
char *create_date;
};
void initlist(struct list *PL,int *pdate); //初始化数据表函数声明
void infolist(struct list *PL); //数据表信息函数声明
#define LMAX 50 //最大表长
int main(void)
{
struct list L;
int listdate[LMAX-1]; //构造右边存储区
initlist(&L,listdate);
printf("\n请输入整型数据,互相之间以回车或空格隔开:\n");
printf("输入完成后按回车,再按ctrl+d结束:\n");
int i=0;
int num; //存放scanf()返回值
char nouse[30]; //30个字节的无用区
while( (