2012-04-26 11 views
0

スタックに関する質問があります。私は大きい順に昇順に整数をプッシュとポップメソッドを呼び出すしたい場合は一般的に、私は内部でこのメソッドを定義することができるか、ソートされたスタックをJavaで定義する方法

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

のような最も簡単な方法でpushメソッドを定義します同じプッシュメソッド?

+0

もっと説明できますか?私の考えは、あなたがLIFO(ラスト・イン・ファースト・アウト)構造について書いていることです。スタックです.1,2,3,4を置くと、4,3,2,1が得られます。 '要素を返す[size - ];' – Betlista

答えて

0

それdoesntのは、スタックがsorted list

を試してみて、最初の要素を取得し、ポップ時にそれを削除残ります。

-1

スタックは、通常、LIFOデータ構造です。注文したコレクションをお探しの場合は、SortedSetをご覧ください。

+0

重複エントリを追加できなかったため、SortedSetはここでは機能しません。 –

+0

ソートされたセットでは、私が '1,2,4,4'を入力すると、セットは' 1,2,4'になり、重複するエントリが緩くなります。 –

+0

それは実際に必要なものかもしれません。 – Snicolas

0

ソートされたコレクションを使用して、プレーンな配列ではなくデータを格納します。ソートされたリストhereの作成に関する提案を見つけることができます。

1

施設を並べ替えてにスタックがありません。
より良い方法は、データを昇順に並べ替えることです。は、をスタックにプッシュします。また、スタックからデータをポップしている間は、降順でデータを取得します。