欢迎光临散文网 会员登陆 & 注册

数据结构与算法_线性结构

2023-02-04 20:36 作者:昵昵酱紫  | 我要投稿

线性表

线性表是由n(n>0)个相同类型的数据元素组成的有限序列,它是最基本,最常用的一种线性结构。

    顺序表是顺序存储方式,即逻辑上相邻的数据在计算机内的存储位置也是相邻的。顺序存储方式,元素存储是连续的,中间不允许有空,可以快速定位第几个元素,但插入,删除时需要移动大量元素。

    链表是线性表的链式存储方式,逻辑上相邻的数据在计算机内的存储位置不一定相邻,那么怎么表示逻辑上的相邻关系呢?

    基本操作

    1)初始化    2)创建    3)取值    4)查找    5)插入    6)删除

栈:

后进先出(LIFO)的线性序列,称为“栈”。栈也是线性表,只不过它是操作受限的线性表,只能在一端进出操作。进出的一端称为栈顶(top)。另一端称为栈底(base)。

栈可以顺序存储也可以链式存储,分别称为顺序栈和链栈。

STL库:<stack>

#include<stack>


    顺序栈:

    分配地址时,动态分配:

    typedef char ElemType;//别名

    静态分配时:

    链栈:


队列

先进先出(FIFO)的线性序列,也是一种线性表。他也是操作受限的线性表,只能在两端操作:一端进,一端出。队列可以顺序存储也可以链式存储。

STL库<queue>

    顺序队列:

    分配地址时,动态分配:

    分配地址时,静态分配:

    链队


数组

数组是由相同类型的数据元素构成的有限集合。

STL库<vector>

一维数组看作一个线性表。

二维数组也可以看作一个线性表X=(X0,X1,X2,......,Xn-1),只不过每一个数据元素Xi也是一个线性表。

数组一般采用顺序存储结构。

字符串


    字符串的存储:

    字符串的存储可以使用顺序存储和链式存储两种方式。


 

数据结构与算法_线性结构的评论 (共 条)

分享到微博请遵守国家法律