数据结构之---c语言实现线性表的顺序表

//=========杨鑫===================//
//线性表结构的实现及基本操作(共17种)
#include
#include
typedef int ElemType;       //定义元素类型
struct List                //定义单链表结点类型
{
    ElemType *list;			//存储空间基址
    int size;      			//当前长度
    int MaxSize;   			//当前分配的存储容量,即存储线性表的最大长度
};


//1、初始化线性表L,即进行动态存储空间分配并置L为一个空表
void init_list(struct List *L, int ms)
{
	printf("线性表正在初始化!\n");
    if (ms < 0) //检查ms是否有效
    {
        printf("ms值非法!\n");
        exit(1);
    }
    L->MaxSize = ms; //置线性表初始存储容量为ms
    L->list = (ElemType *)malloc(ms*sizeof(ElemType)); //动态存储空间分配
    if (!L->list)
    {
        printf("动态存储分配失败!\n");
        exit(1);
    }
    L->size = 0; //初始置线性表为空
}


//2、清除线性表L中的所有元素,释放动态存储空间,使之成为一个空表
void clear_list(struct List *L)
{
	printf("线性表释放动态存储空间!\n");
    if (L->list != NULL)
    {
        free(L->list);
        L->list = 0;
        L->size = L->MaxSize = 0;
    }
}


//3、返回线性表L的长度,若L为空则返回0
int size_l

你可能感兴趣的:(C,&&,C++,数据结构)