如何用Java定义排序堆栈

如何用Java定义排序堆栈,java,stack,heap,priority-queue,Java,Stack,Heap,Priority Queue,我有一个关于堆栈的问题。一般来说,我将以最简单的方式定义push方法,如 Int size; public void push(int value){ elements[size++] = value;} 如果我想按递增顺序推送整数,并按递减顺序调用pop方法,我如何在同一推送方法中定义此方法?它不保留堆栈尝试 获取第一个元素并在弹出过程中删除它。堆栈通常是后进先出的数据结构。如果要查找某个有序集合,请查看。使用排序集合而不是普通数组来存储数据。您可以找到有关创建排序列表的建议 您

我有一个关于堆栈的问题。一般来说,我将以最简单的方式定义push方法,如

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

如果我想按递增顺序推送整数,并按递减顺序调用pop方法,我如何在同一推送方法中定义此方法?

它不保留堆栈尝试


获取第一个元素并在弹出过程中删除它。

堆栈通常是后进先出的数据结构。如果要查找某个有序集合,请查看。

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

您在堆栈中没有排序功能

更好的方法是,在将数据推入堆栈之前,按升序对数据进行排序。当从堆栈中弹出数据时,您将以降序获得数据。

您能解释更多吗?我的观点是,你写的是后进先出(后进先出)结构——这是一个堆栈,当你把1,2,3,4放进去时,你想得到4,3,2,1,所以你的pop是
返回元素[size--]。分类数据集在这里不起作用,因为您无法添加重复条目。在分类集中,如果我输入
1,2,4,4
,则该集将
1,2,4
,我们将丢失重复条目。这可能是实际需要的。