线性表的顺序实现

#include   <stdio.h>
#include   <stdlib.h>

/*   函数结果状态代码   */
#define   TRUE 1
#define   FALSE 0
#define   OK         1
#define   ERROR 0
#define   INFEASIBLE -1             //不可实行
#define   OVERFLOW -2             //溢出

/*   STATUS是函数的类型,其值是函数结果状态代码   */
typedef   int   STATUS;

typedef   int   ELEMTYPE;

/*   线性表的动态分配顺序存储结构   */
#define   LIST_INIT_SIZE 100 //线性表存储空间的初始化分配量
#define   LISTINCREMENT 10 //线性表存储空间的分配增量

typedef   struct   {
ELEMTYPE   *   elem; //存储空间基址
int   length; //当前长度
int   listsize;                 //当前分配的存储容量(以sizeof(ELEMTYPE)为单位)
}SqList;

#define   NUM  5
/****************************************************************
构造一个空的线性表,并将每个元素初始化为0.
        成功返回OK,失败返回OVERFLOW.
  ****************************************************************/
STATUS   InitList_Sq(SqList   *L)
{
L-> elem   =   (ELEMTYPE   *)   malloc(LIST_INIT_SIZE   *   sizeof(ELEMTYPE));
if(!L-> elem)         return   OVERFLOW;         //存储分配失败


L-> length   =   0; //空间长度为0
L-> listsize   =   LIST_INIT_SIZE; //初始存储容量

return   OK;
}
/****************************************************************
测试函数(main函数)
*****************************************************************/
void main()
{
SqList   L;

int   i;

//测试初始值
InitList_Sq(&L);
printf( "测试初始值/t/tlength   =   %d/n ",   L.length);
for(i   =   0;   i   <   NUM;   i++)
printf( "elem[%d]   =   %d     ",   i,   L.elem[i]);
printf( "/n/n ");

 

 

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值