顺序表是线性表的一种存储结构。
什么是线性表?
线性表是一种常用的数据结构。其数据元素之间在逻辑上具有“一对一”的关系。所谓的“一对一”,就是除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的(注意,这句话只适用大部分线性表,而不是全部。比如,循环链表)。类似的,在逻辑上具有“一对多”的关系的数据结构是:树。在逻辑上具有“多对多”的关系的数据结构是:图。
什么是顺序表?
线性表在逻辑上是是“一对一”的关系,把这些具有“一对一”关系的数据存储到物理内存中有两种方式:一是,存储在连续的内存中,这就是顺序存储结构,即顺序表。二是,存储在不连续的内存中,这就是链式存储结构,即链表。请看下图:
顺序表与数组有何不同?
顺序表,最终是借助数组(静态数组或动态数组)来实现的,所以,顺序表,简单理解就是数组。如果要做区分的话,简单地认为顺序表是数据结构里的概念,数组是编程语言中的概念。
顺序表的基本操作(用静态数组实现)
1、顺序表的结构定义
2、创建一个顺序表:(5,2,0,13,14)
3、查找操作
4、替换旧元素old_elem为新元素new_elem
5、替换位置pos上的数据为elem
6、插入操作
7、删除操作
以上就是关于顺序表的一些介绍及线性表的一些操作,如:插入、删除、查找、替换等。可以发现,顺序表的插入与删除操作代价很高,插入或者删除元素都要移动很多元素。
欢迎