本系列讨论最简单的和最基本的三种数据类型:表、栈和队列,实际上,每一个有意义的程序都将显式的用到一种或多种这样的数据结构,而栈在程序中总要被间接的使用到。 本系列的重点: 介绍抽象数据类型的概念。 阐述如何有效的执行表的操作。 介绍栈ADT及其在实现递归方面的应用。 介绍队列ADT及其在操作系统和算 ...
分类:
其他好文 时间:
2018-08-24 02:15:04
阅读次数:
221
总览 栈和队列的基本概念 栈和队列的顺序存储结构 栈和队列的链式存储结构 栈和队列的应用 特殊矩阵的压缩存储 栈的基本概念 特点:先进后出,栈顶进栈顶出 队列的基本概念 特点:先进先出,队首进,队尾出 顺序栈 链栈 应用 顺序队列 链队列 应用 ...
分类:
其他好文 时间:
2018-08-05 19:39:45
阅读次数:
131
首先,需要先了解栈和队列的概念: 栈 先进后出:类比弹夹上的子弹,最后上进弹夹的子弹第一个使用,砌墙的板砖,后来居上 队列 先进先出:排队打饭,先到先得 创建列表: 左添加:(栈的形式添加) 右添加:(队列的形式添加) 查看列表: 查看长度: 查看指定元素:(索引) 删除元素: 删除指定个数的元素: ...
分类:
数据库 时间:
2018-08-02 20:53:06
阅读次数:
154
按照左右半区的方式重新组合单链表 给定一个单链表的头部节点 head,链表长度为 N ,如果 N 为偶数,那么前 N/2 算作前半区,后 N/2 算作后半区,如果 N 为奇数,那么前 N/2 算作前半区,后 N/2 + 1算作后半区。左半区从左到右依次记为 L1->L2->...,右半区从左到右依次 ...
分类:
其他好文 时间:
2018-08-02 01:58:19
阅读次数:
195
合并两个有序的单链表 给定两个有序单链表的头节点 head1 和 head2,合并两个有序链表,合并后链表依然有序,并返回合并后的链表的头节点,例如:0->2->3->7->null 和 1->3->5->7->9->null,合并后的链表为 0->1->2->3->3->5->7->7->9->n ...
分类:
其他好文 时间:
2018-08-02 01:53:24
阅读次数:
149
[TOC] 3.1 栈 3.1.1 栈的基本概念 (1)栈的定义 栈 (Stack):只允许在一端进行插入或删除操作的线性表。首先栈是一种线性表,但是限定这种线性表只能在某一端进行插入和删除操作,如图 3 1 所示。 栈顶 (Top):线性表允许进行插入和删除的那一端。 栈底 (Bottom):固定 ...
分类:
其他好文 时间:
2018-07-30 11:29:34
阅读次数:
289
栈 栈(stack),有些地方称为堆栈,是一种容器,可存入数据元素、访问元素、删除元素,它的特点在于只能允许在容器的一端(称为栈顶端指标,英语:top)进行加入数据(英语:push)和输出数据(英语:pop)的运算。没有了位置概念,保证任何时候可以访问、删除的元素都是此前最后存入的那个元素,确定了一 ...
分类:
其他好文 时间:
2018-07-26 22:09:23
阅读次数:
179
队列队列和常说的排队差不多,先来的人先走,后面来的人接着走,最后来的人最后走结构:FIFO栈和队列是相反的,先进后出,后进先出的结构队列不是凭空实现的一个结构,还要用之前已经实现过的数据结构来实现之前学习的结构: array,list,linkedlist,dll2. 实现队列的ADT需要有两个基本操作:push(入队)pop(出队)用列表实现:比如说
分类:
其他好文 时间:
2018-07-26 18:24:04
阅读次数:
161
推荐博客 : https://blog.csdn.net/zuzhiang/article/details/78134247 单调栈、队列只需满足两个条件即可,序列是单调的,并且符合栈和队列的特性。 实现: 例如实现一个单调递增的栈,比如现在有一组数10,3,7,4,12。从左到右依次入栈,则如果栈 ...
分类:
其他好文 时间:
2018-07-25 20:12:44
阅读次数:
191
向有序的环形单链表中插入新节点 一个环形链表从头节点开始不会降序,同时最后的节点指向头节点。给定一个环形单链表的头节点head和一个整数num,生成新节点并将其插入到环形链表中,保证插入后的链表仍然有序。 ...
分类:
其他好文 时间:
2018-07-25 11:29:14
阅读次数:
132