如何通过Java定义排序堆栈

时间:2012-04-26 08:23:22

标签: java stack heap priority-queue

我对堆栈有疑问。通常,我会以最简单的方式定义推送方法,如

 Int size;
 public void push(int value){
    elements[size++] = value;}

如果我想按递增顺序推送整数并按递减顺序调用pop方法,我怎么能在同一个push方法中定义这个方法?

4 个答案:

答案 0 :(得分:1)

您在堆栈中没有排序设施  更好的方法是,在推送进入堆栈之前,按升序对数据进行排序。在从堆栈中弹出数据时,您将按降序获取数据。

答案 1 :(得分:0)

它不会保持堆栈尝试{{3p>

并获取第一个元素并在pop中删除它。

答案 2 :(得分:0)

使用已排序的集合来存储数据而不是普通数组。您可以找到有关创建排序列表here的建议。

答案 3 :(得分:-1)

堆栈通常是LIFO数据结构。如果您正在寻找一些有序的收藏品,请查看SortedSet