太阳hxy
太阳hxy
全部文章
分类
选择题(2)
题解(76)
归档
标签
去牛客网
登录
/
注册
太阳hxy的博客
全部文章
(共7篇)
循环队列(模板)
循环队列(模板) 思路: 1.创建一个结构体用来表示循环队列:一个数组,一个队首head,一个队尾rear 2.初始化循环队列:head==rear=0; 3.如果head==rear,则队列为空 4.如果(rear+1)%(n+1)==head,则循环队列为满,注意是由于是循环队列,所以要取余才...
C++
队列
2023-07-22
1
381
队列(模板)
队列(模板) 思路: 1.构造一个结构体表示队列:包含一个数组用来存队列中的元素,一个队头指针head,一个队列的尾指针rear 2.初始化为空队列:head=rear=0; 3.从队尾插入元素,即将元素插入下标为rear的位置,再将rear++ 4.获得队首,即head处的元素 5.让队首出队列,...
C++
队列
2023-07-22
1
303
用两个栈实现队列
用两个栈实现队列 思路: 1.由于队列是先进先出的,然而栈是后进先出的 2.所以想要将入栈的元素模拟队列的结果,即先入的节点先出 3.则需要一个新的栈进行辅助,将栈1元素先压入栈2中,就实现了一次反转 4.此时栈2的栈顶的就是第一个元素,让这个元素出栈,就实现了先入先出 5.再将栈2中的元素再弹...
C++
栈
队列
模拟
2023-07-18
0
350
按之字形顺序打印二叉树
按之字形顺序打印二叉树 思路(双栈法): 我们可以利用两个栈遍历这棵二叉树,第一个栈s1从根节点开始记录第一层,然后依次遍历两个栈,遍历第一个栈时遇到的子节点依次加入第二个栈s2中,即是第二层:而遍历第二个栈s2的时候因为是先进后出,因此就是逆序的,再将第二个栈s2的子节点依次加入第一个栈s1中...
C++
栈
队列
2023-07-18
0
363
按之字型顺序打印二叉树
按之字型顺序打印二叉树 图解: 链接 思路: 由于对于二叉树的分层打印,一般用队列进行维护 但是由于现在是按照之字形的顺序进行打印的,所以有些层需要在原先的顺序上进行反转 1.先判断树是否为空,如果为空,就直接返回 2.否则就创建一个队列进行维护 3.将每一层的节点都插入队列中,再将每一...
C++
二叉树
队列
模拟
2023-07-18
0
356
两个队列实现栈
两个队列实现栈 思路: 由于对于队列是先进先出的结构,但是栈是后入先出的结构,所以可以用两个队列实现栈。 1.入栈操作就是将元素入队列1 2.出栈操作就是需要将队列1中的除了最后一个元素外的其他元素都移动到队列2中 3.再将队列1中的最后一个元素出栈,将队列2中的元素放回队列1中 4.获得栈顶元...
C++
队列
栈
2023-07-18
1
504
从上往下打印二叉树
从上往下打印二叉树(用队列维护分层从左到右打印) 思路: 二叉树的层次遍历就是按照从上到下每行,然后每行中从左到右依次遍历,得到的二叉树的元素值。对于层次遍历,我们通常会使用队列来辅助: 因为队列是一种先进先出的数据结构,我们依照它的性质,如果从左到右访问完一行节点,并在访问的时候依次把它们的子...
C++
队列
二叉搜索树
2023-07-17
0
322