码迷,mamicode.com
首页 > 其他好文 > 详细

数据结构(栈和队列)

时间:2019-02-07 16:16:59      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:特性   top   顺序存储   链表   链表实现   共享存储空间   栈的操作   单元   存储空间   

一、栈(Stack)

基本概念:只允许在一端进行插入或删除操作的线性表。

栈顶(Top):线性表语序进行插入和删除的那一端。

栈底(Bottom):固定的,不允许进行插入和删除的那一端。

空栈:不含任何元素的的空表。

栈的顺序存储结构:栈的顺序存储成为顺序栈,他是利用一组地址连续的存储单元存放在栈底刀栈顶的数据元素,同时附设一个指针(top)只是当前栈顶的位置。

  >>>共享栈:利用栈底位置相对不变的特性,可以让两个顺序栈共享一个一维数据空间,将两个栈的栈底分别设置在共享空间的两端,两个栈顶向共享空间的中间延伸。

栈的链式存储结构:采用链式存储的栈成为链栈,链栈的优点是便于多个栈共享存储空间和提高其效率,且不存在栈满上溢的情况,通常采用单链表实现,并规定所有操作都是在单链表的表头的进行的。采用链式存储,便于节点的插入和删除,链栈的操作与链表类似。

二、队列(Quene)

基本概念:队列简称队,也是一种操作受限的线性表,只允许在表的一端进行插入,而在表的另一端进行删除,向队列中插入元素成为入队会进队,删除元素成为出队或离队。其操作的特性是先进先出(First In First Out,FIFO),故又成为先进先出的线性表。

队列的存储结构:队列的顺序实现是指分配一块的存储单元存放在队列中元素,并附设两个指针front和rear分别指示队头元素和队尾元素的位置。

  >>>队列的链式存储结构队列的链式表成为链式表示成为链队列,它实际上是一个同事带有队头指针和队尾指针的单链表,头指针指向队头节点,尾指针指向队尾节点。

双端队列:双端队列指允许两端都可以进行入队和出队操作的队列。包括输出受限的双端队列:语序在一段进行插入和删除;输入受限的双端队列:语序在一端进行插入和删除。

 

数据结构(栈和队列)

标签:特性   top   顺序存储   链表   链表实现   共享存储空间   栈的操作   单元   存储空间   

原文地址:https://www.cnblogs.com/lonelamb/p/10354870.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!