数据结构 线性表实现之二

本文深入探讨数据结构中的线性表,详细阐述其概念、特点,并通过实例解析线性表的常见实现方式,包括顺序存储和链式存储,强调它们在不同场景下的优缺点。
摘要由CSDN通过智能技术生成
/// 
//--------------------------------------------------------- 
//            顺序存储结构线性表基本操作 纯C语言实现 
// 
//            a simple example of Sq_List by C language 
// 
//                    by wangweinoo1[PG] 
//--------------------------------------------------------- 
/// 


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

//以下为函数运行结果状态代码 

#define TRUE 1
#define FALSE 0
#define OK 1 
#define ERROR 0 
#define INFEASIBLE -1 
#define OVERFLOW -2 

#define LIST_INIT_SIZE 5  //线性表存储空间的初始分配量 
#define LISTINCREMENT 1  //线性表存储空间分配增量 

typedef int Status; //函数类型,其值为为函数结果状态代码 

typedef int ElemType; //假设数据元素为整型 

typedef struct 
{ 
    ElemType *elem; //存储空间基址 
    int length; //当前长度 
    int listsize; //当前分配的存储容量 
}Sqlist; 
//实现线性表的顺序存储结构的类型定义

static Sqlist L;//为了引用方便,定义为全局变量
static ElemType element;

///
//函数名:InitList()
//参数:SqList L
//初始条件:无
//功能:构造一个空线性表
//返回值:存储分配失败:OVERFLOW
//        存储分配成功:OK
///
Status InitList(Sqlist L)
{
    L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));
    if(L.elem==NULL)
        exit(OVERFLOW);
    else
    {
        L.length=0;
        L.listsize=LISTINCREMENT;
        return OK;
    }
}

///
//函数名:DestroyList(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值