使用两个栈实现一个队列

本题的思路是两个栈,在这里将栈分为1和2。 在第一次进栈时,将数据直接压入1号栈内,以后进站时,每次都需将1号栈的数据依次出栈并压入2号栈内,然后将要存的数据压入1号栈内,在将2号栈的数据依次出栈并压入1号栈内,这样正常出栈的顺序就是队列的顺序。 实现代码如下: //两个栈实现一个队...

2018-07-31 17:31:12

阅读数:15

评论数:0

实现一个栈,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值)的时间复杂度为O(1)

本题的重点是要返回最小值的时候时间复杂度为O(1). 我们来用两个栈合成一个栈,一个栈存放要存入的数据,另一个栈存入每次放入时的最小值。 这样就实现了一个栈返回最小值的时候时间复杂度为O(1). 代码如下: #define _CRT_SECURE_NO_WARNINGS 1 #pr...

2018-07-31 17:03:19

阅读数:20

评论数:0

队列基本操作(链表)

#define _CRT_SECURE_NO_WARNINGS 1 #pragma once #include<stdio.h> typedef int QDataType; typedef struct QNode { QDataType ...

2018-07-31 12:38:12

阅读数:46

评论数:0

Linux指令

在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限 目录的可执行权限表示你可否在目录下执行命令。 如果目录没有-x权限,则无法对目录执行任何命令,是指无法cd进入目录,即使对目录有-r权限。 如果对目录具有-x权限,但没有-r权限,则用户可以执行命令...

2018-07-27 16:33:34

阅读数:22

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭