线性表基础知识总结

一.线性表的定义

线性表(List)是由同一类型的数据元素构成的有序序列的线性结构。线性表中元素的个数称为线性表的长度;当一个线性表中没有元素时,称之为空表,表的起始位置称为表头,表的结束位置称为表尾。
线性表的操作集:
List MakeEmpty():初始化一个新的空线性表。
ElementType FindKth(int K,List L):根据指定的位序K,返回L中相应的元素a_k。
int Find(ElementType X, List L):已知X,返回线性表L中与X相同的第一个元素的相应位序i;若不存在则返回空。
void Insert(ElementType X, int i, List L):在L的指定位序i前插入一个新元素X
void Delete(int i, List L):从L中删除指定位序i的元素
int Length(List L):返回线性表L 的长度。

二.线性表的顺序存储实现

定义:线性表的顺序存储是指在内存中用地址连续的一块存储空间顺序存放线性表的各元素。由于一维数组在内存中占用的存储空间就是一组连续的存储区域,所以用一维数组来表示顺序存储的数据区域再合适不过。
线性表的存储结构如下:

typedef struct{
    ElementType Data[MaxSize];
    int Last;
}List;

三. 顺序存储线性表的操作实现

  1. 初始化
    即构造一个空表。首先动态分配表结构所需要的存储空间,然后将表中的Last设置为-1,代码如下:
List* MakeEmpty()
{
    List *PtrL;
    PtrL = (List*)malloc(sizeof(List));
    PtrL -> Last = -1;
    return PtrL;
}

2 查找
在顺序存储的线性表中,查找主要是指在线性表中查找和给定数值X相同的数据元素,然后返回该元素在列表中的位置。

int Find(ElementType X,List *PtrL)
{
    int i = 0;
    while(i <= PtrL -> Last && PtrL -> Data[i] != X )
        i++;
    if(i > PtrL->Last)
        return -
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值