0

我有一个关于堆栈的问题。通常,我会以最简单的方式定义 push 方法,例如

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

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

4

4 回答 4

1

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

于 2012-04-26T08:29:08.203 回答
0

它不保持堆栈尝试排序列表

并获取第一个元素并在弹出期间将其删除。

于 2012-04-26T08:27:35.680 回答
0

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

于 2012-04-26T08:28:05.787 回答
-1

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

于 2012-04-26T08:27:54.563 回答