java.awt控件显示为方框或为乱码的解决方法

在队列中,元素从队尾进入,从队首删除。
c++实例:

#include
#include
using namespace std;
int main(){
    priority_queue<int> q;//声明一个装int类型数据的优先队列
    q.push(1);//入队
    q.push(2);
    q.push(3);
    while(!q.empty()) {//判断队列是否为空
        cout << q.top << endl;//访问队列首元素
        q.pop();//出队
    }
    return 0;
}
/*
输出为
3
2
1
*/

Java:

import java.util.Queue;
import java.util.PriorityQueue;
public class Main {
    public static void main(String[] args) {
        Queue queue = new PriorityQueue(); // 声明一个装 Integer 类型数据的队列
        queue.add(3); // 入队
        queue.add(2);
        queue.add(1);
        while (!queue.isEmpty()) { // 判断队列是否为空
            System.out.println(queue.peek()); // 访问队列首元素
            queue.remove(); // 出队
        }
    }
}
/*
输出
1
2
3
*/

优先队列的优先级重载:

struct node {
    int dist, loc;
    node() { }
    bool operator < (const node & a) const {
        return dist > a.dist;
    }
};

priority_queue  Q;
class Data implements Comparable<Data> {
    int dist, loc;
    public int compareTo(Data o) {
        return dist - o.dist;
    }
}

Queue queue = new PriorityQueue();

你可能感兴趣的:(程序设计(高级))