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