线性表 —— 顺序表

本文介绍了线性表的基本概念,包括它的定义、有序无序性以及两种存储结构:顺序表和链表。重点讲解了顺序表,它是将线性表元素存储在一块连续的内存空间中,具有随机访问特性的数据结构。顺序表的操作包括查找和插入,其中插入操作通常涉及元素的移动。此外,文章还提到了顺序表结构体定义以及相关算法,如查找和插入算法。

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

一、什么是线性表


  • 线性表是具有相同特征数据元素的一个有限序列。该序列中所含元素的个数叫作线性表的长度,用 n 表示,当 n = 0 时,表示线性表是一个空表。
  • 线性表可以是有序的,也可以是无序的
  • 线性表的存储结构有顺序存储结构和链式存储结构两种。前者称为顺序表,后者称为链表。

二、顺序表


在这里插入图片描述

顺序表就是把线性表中的所有元素按照其逻辑顺序,依次存储到从指定的存储位置开始的一块连续的存储空间中。

顺序表的特性:

  • 随机访问特性:只要知道点的位置,就可以直接访问
  • 占用连续的存储空间:存储分配只能预先进行,一旦分配好了,在对其操作的过程中始终不变
  • 顺序表做插入操作的时候要移动多个元素
  • 具有 n 个元素的顺序表,插入一个元素的平均移动个数为 (n-1)/2
  • 具有 n 个元素的顺序表,查找一个元素的平均移动个数为 (n+1)/2

结构体定义:

// 结构体定义
#define maxSize 100
typedef struct
{
   
	int data[maxSize];
	int length;
}Sqlist;

顺序表初始化:

// 顺序表初始化
void initList(Sqlist &L)
{
   
	L.length=0;
}
<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值