/*
* Copyright (c) 2015, 烟台大学计算机与控制工程学院
* All rights reserved.
* 文件名称:main.cpp,hanshu.cpp,touwenjian.h
* 作者:徐吉平
* 完成日期:2015年9月16日
* 版本号:code ::Block 13.12
*
* 问题描述:测试线性表得初始化、插入、判断是否为空、输出几个函数
* 输入描述:无
* 程序输出:线性表的结果
*/
touwenjian.h
#ifndef TOUWENJIAN_H_INCLUDED
#define TOUWENJIAN_H_INCLUDED
#include <stdio.h>
#include <malloc.h>
#define MaxSize 50 //Maxsize将用于后面定义存储空间的大小
typedef int ElemType; //ElemType在不同场合可以根据问题的需要确定,在此取简单的int
typedef struct
{
ElemType data[MaxSize]; //利用了前面MaxSize和ElemType的定义
int length;
}SqList;
bool ListInsert(SqList *&L,int i,ElemType e) ;
void InitList(SqList *&L);
void DispList(SqList *L);
bool ListEmpty(SqList *L);
#endif // TOUWENJIAN_H_INCLUDED
main.cpp
#include "touwenjian.h"
int main()
{
SqList *sq;
InitList(sq);
ListInsert(sq, 1, 5);
ListInsert(sq, 2, 3);
ListInsert(sq, 1, 4);
DispList(sq);
return 0;
}
hanshu.cpp
#include "touwenjian.h"
bool ListInsert(SqList *&L,int i,ElemType e)
{
int j;
if(i<1||i>L->length+1)
{
return false;
}
i--;
for(j=L->length;j>i;j--)
{
L->data[j]=L->data[j-1];
}
L->data[i]=e;
L->length++;
return true;
}
void InitList(SqList *&L)
{
L=(SqList *)malloc(sizeof(SqList));
L->length=0;
}
void DispList(SqList *L)
{
int i;
if(ListEmpty(L))
return ;
for (i=0;i<L->length;i++)
printf("%d ",L->data[i]);
printf("\n");
}
bool ListEmpty(SqList *L)
{
return (L->length==0);
}