数据结构学习笔记-线性表的基本方法

本文详细探讨了数据结构中的线性表,包括其定义、特性、常见操作以及在实际问题中的应用。线性表是一种基础但重要的数据结构,支持插入、删除、查找等基本操作,适用于多种算法实现。
摘要由CSDN通过智能技术生成

#数据结构学习笔记-线性表的基本方法

//注意:只要是需要输出的,就要声明为引用
#include <stdio.h>
#include <mm_malloc.h>
#define MaxSize 50
typedef char ElemType;
typedef struct 
{
    /* data */
    ElemType data[MaxSize];
    int length;
} Sqlist;

//整体建立顺序表,其实就是将 a[] 复制到 L 中,注意这里的 L是数组的头指针
// 可以直接代表数组
void CreateList(Sqlist *&L,ElemType a[],int n) 
{
    L = (Sqlist *)malloc(sizeof(Sqlist));
    for(int i=0;i<n;i++)
        L->data[i] = a[i];
    L->length = n; 
}

//初始化顺序表,其实就是:1,给L分配连续空间; 2,将L的长度置0
void InitList(Sqlist *&L)
{
    L = (Sqlist *)malloc(sizeof(Sqlist));
    L->length = 0;
}

//销毁线性表,就是将L的空间释放
void DestoryList(Sqlist *&L)
{
    free(L);//free()释放了malloc所申请的内存,指针可能变为野指针
    // 最好将指针指向NULL
}

//判断线性表是否为空表,为空则返回值为true,否则为false
bool ListEmpty(Sqlist *L)
{
    return(L->length == 0);
}

//求线性表的长度,个人感觉此方法有点多余
int ListLength(Sqlist *L)
{
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值