一、题目:仅用递归函数和栈操作逆序一个栈 将一个栈里面的元素逆序,只能用递归函数来实现,不能用其他数据结构。 思路: 为了将栈逆序,只需要按顺序将栈顶至栈底的元素拿出并移除,放置到栈顶中,这样就可以将栈逆序。 两个递归函数: 一个将栈底元素取出。 一个将剩下的栈元素逆序。 如: 输入栈{1, 2, ...
分类:
其他好文 时间:
2018-09-23 15:11:05
阅读次数:
133
这一类问题要考察的核心其实是元素进出栈、队列的规则。 拿栈来说,元素进出的顺序是相反的,先进后出,FILO。运用这个特性,我们可以把一个栈的全部元素逆序移至另一个栈。 举例来说,有一组元素排成序列abcd,保存在栈X中,其中d为栈顶元素,a为栈底元素。另外还有一个栈Y,是空的。当我们把序列中的元素逐 ...
分类:
其他好文 时间:
2018-09-22 18:16:35
阅读次数:
162
目录 [TOC] 1. 概述 1. 通过类名可以想象到, 该类的结构是一个链表结构. 2. 但是它是一个类似于数组的链表, 意思就是普通的添加操作与数组类似, 将新元素添加到链表的尾端. 并支持通过下标来进行访问. 3. 它实现了Deque接口, 提供了栈和队列的操作, 也就是该类的主要功能吧. 4 ...
分类:
其他好文 时间:
2018-09-11 01:09:50
阅读次数:
189
1.队列先进先出,栈先进后出。 2. 对插入和删除操作的"限定"。 栈是限定只能在表的一端进行插入和删除操作的线性表。 队列是限定只能在表的一端进行插入和在另一端进行删除操作的线性表。 从"数据结构"的角度看,它们都是线性结构,即数据元素之间的关系相同。但它们是完全不同的数据类型。除了它们各自的基本 ...
分类:
其他好文 时间:
2018-09-04 23:32:58
阅读次数:
188
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路 首先要明确栈和队列的特性,栈是后入先出的数据类型,队列是先进先出的数据类型,那么就可以用两个栈,一个存储新的push进队列的数据,另一个栈用来pop出队头的数据,push很简单,直接利用栈的特性ap ...
分类:
其他好文 时间:
2018-08-30 02:03:42
阅读次数:
136
PS:资料来源慕课网视频。 一、什么是线性表 线性表是n个数据元素的有限序列。 分类: 二、补充知识点 1、栈和队列有出操作、入操作,对应线性表(数组)为插入元素和删除元素,而线性表中要获取指定元素值可直接使用getelem()函数,获取后并不删除元素,可重复获取。 【与只能使用一次的栈、队列有区别 ...
分类:
编程语言 时间:
2018-08-30 00:09:35
阅读次数:
227
说明: 本文主要展示Python实现的几种常用数据结构:顺序表、链表、栈和队列。 附有实现代码。 来源主要参考网络文章。 一、顺序表 1、顺序表的结构 一个顺序表的完整信息包括两部分,一部分是表中元素集合,另一部分是为实现正确操作而需记录的信息,即有关表的整体情况的信息,这部分信息主要包括元素存储区 ...
分类:
编程语言 时间:
2018-08-28 14:20:58
阅读次数:
152
栈:先进后出(底层用数组实现) 栈只有一个开口,先进去的就到最底下,后进来的就在前面,要是拿出去的话,肯定是从开口端拿出去, 所以说先进后出,后进先出。 数据结构: java实现栈(基于数组): main()方法中 3是最后push()进去 是最先pop()出来,先进后出,后进先出。 队列:先进先出 ...
分类:
其他好文 时间:
2018-08-26 10:30:32
阅读次数:
261