队列
ByaAym
这个作者很懒,什么都没留下…
展开
-
优先队列(C++实现)
优先队列(堆)满足先进先出,而且每次出队的都是队列中最小的(也可以是最大的,看实现过程)。 堆是一棵完全二叉树,所以优先队列一般用二叉堆实现。 C++有自带的PriorityQueue,但是C#没有。所以写一下分析: 1.一棵完全二叉树,所以可以用一个数组表示而不需要用指针。但是用数组就要事先估计堆的大小,所以用一个Capacity表示最大值。 2.因为保持堆序性质,最小元就是在根上,删除后原创 2017-03-03 02:39:00 · 9189 阅读 · 0 评论 -
队列问题1
有一叠牌,从上往下依次编号1~n,当至少还有两张牌时:把第一张牌扔掉,然后把新的第一张叠到最后。输入n,输出每次扔掉的牌以及最后剩下的牌。样例输入:7 样例输出:1 3 5 7 4 2 6使用数组实现时,要注意数组足够大,防止越界。#include<stdio.h>#include<stdlib.h>const int maxn=500;int main(){ int n,queue[原创 2017-02-26 20:51:40 · 640 阅读 · 0 评论