数据结构之线性表(List)(一)

文章详细介绍了线性表的定义、特点以及包括初始化、判空、求表长、按值查找、按位查找、插入、删除和输出等基本操作。此外,还阐述了线性表的顺序存储结构,即顺序表的概念,强调了逻辑顺序与物理顺序的一致性,并提供了C语言实现顺序表的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tips:本章节只介绍线性表的顺序存储结构

1.线性的定义、特点和基本操作

1.1线性表的定义

        线性表是具有相同类型的n(n >= 0)个数据元素的有限序列,其中n为表长,当n=0时,线性表为空表。

        若用L命名线性表,则一般表示为:L=(a1,a2,...ai,ai+1,...,an)。其中,a1是唯一的“第一个”数据元素,又称为表头元素;an是唯一的“最后一个元素”,又称为表尾元素。

        除第一个元素外,每个元素有且仅有一个直接前驱;除最后一个元素外,每个元素有且仅有一个直接后继。以上为线性表的逻辑特性。

1.2线性表的特点

        1.表中元素个数有限

        2.表中元素具有逻辑上的顺序性,表中元素有其先后次序。

        3.表中元素都是数据元素,每个元素都是单个元素。

        4.表中元素的数据类型都相同,这意味着每个元素占有相同大小的存储空间。

        5.表中元素具有抽象性,即仅仅讨论元素之间的逻辑关系,而不考虑元素究竟表达什么内容。

        注意:线性表是一种逻辑结构,表示元素之间一对一的相邻关系。而顺序表和链式表是指存储结构。两者不是同一个概念。

1.3线性表的基本操作

        一个数据结构的基本操作是指其最核心、最基本的操作。其他比较复杂的操作都可以通过调用其基本操作来实现。

        线性表的主要操作如下:

//初始化表
//求表长
//按值查找操作
//按位查找操作
//插入操作
//删除操作
//输出操作
//判空操作
//销毁操作

2.线性表的顺序表示

        2.1 顺序表的定义

        线性表的顺序存储又称顺序表。它是用一组地址连续的存储单元依次存储线性表中的数据元素,从而使得逻辑上相邻的两个元素在物理位置上也相邻。

        第 1 个元素存储在线性表的起始位置,第i个元素的存储位置后面紧接着存储的是第i+1个元素,称i为元素ai在线性表中的位序。

        因此,顺序表的特点是表中元素的逻辑顺序与其物理顺序相同。

        每个数据元素的存储位置都和线性表的起始位置相差一个和该数据元素的位序成正比的常数,因此,线性表中的任何一数据元素都可以随机存取,所以线性表的顺序存储结构是一种随机存取的存储结构。通常用高级程序设计语言中的数组来描述线性表的顺序存储结构。

        注意:线性表中元素的位序是从1开始的,而数组中元素的下标是从0开始的。

        2.2 顺序表的具体实现

 1. 使用前准备

#define _CRT_SECURE_NO_WARNINGS 1  //忽略编译器不通过的不安全函数,方便程序移植到不同机器上

//头文件声明
#include <stdio.h>    
#inc
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值