我有一个关于堆栈的问题。通常,我会以最简单的方式定义 push 方法,例如
Int size;
public void push(int value){
elements[size++] = value;}
如果我想以递增顺序推送整数并以递减顺序调用 pop 方法,我如何在同一个推送方法中定义此方法?
我有一个关于堆栈的问题。通常,我会以最简单的方式定义 push 方法,例如
Int size;
public void push(int value){
elements[size++] = value;}
如果我想以递增顺序推送整数并以递减顺序调用 pop 方法,我如何在同一个推送方法中定义此方法?
您在Stack中没有分类设施。更好的方法是,在将数据推入堆栈
之前按升序对数据进行排序。在从堆栈中弹出数据时,您将按降序获取数据。
它不保持堆栈尝试排序列表
并获取第一个元素并在弹出期间将其删除。
使用排序集合而不是普通数组来存储数据。您可以在此处找到有关创建排序列表的建议。
堆栈通常是 LIFO 数据结构。如果您正在寻找一些有序集合,请查看SortedSet。