これでやっと最後です。
一つのスタックに積んである5つの数字を二つのスタックを用いて逆さにする問題です。
Suppose that you have a stack "S". Using the usual stack operations (given in figure 4.7 on page 138),
-explain how you can reverse the order of elements on stack "S" using only two additional stacks.
-write a void method called "reverse" the order of elements on stack "s". The method creates two new stacks and will use only the stack operations given in figure 4.7.
Figure 4.7(これらの命令しか使ってはいけません)
boolean empty()
Object peek()
Object pop()
Object push(el)
int search(el)
Stack()
public void reverse (Stack s) {
Stack s1, s2;
s1 = new Stack();
s2 = new Stack();
//ブランク
25
5
30
20
10
-
S ←スタック(実行前)
10
20
30
5
25
-
S ←スタック(実行後)
私自作のメソッド
public void reverse (Stack s) {
Stack s1, s2;
s1 = new Stack();
s2 = new Stack();
while(!S.empty()) {
S1.push(S.pop());
}
while(!S1.empty()) {
s2.push(S1.pop());
}
while(!S2.empty()) {
S.push(S2.pop());
}
}
アルゴリズムは分かっている(つもりな)んですが
本当にこれで動くのか分かりません。
mainも含めたプログラムは教科書に載っていません。
pushとpopの図はたくさんあるのですが、肝心のプログラムが載っていません。
上のであっていますでしょうか?
スタックの神様、どうかお助け下さい。m(__)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Vbaで数式をポーランド記法に変換するコードを作って実行しようとするとフリーズします。 1 2022/05/24 17:53
- C言語・C++・C# leetcode 155 minstack 1 2022/05/07 16:43
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
- C言語・C++・C# C言語で再起関数とポインタを用いて文字列反転をする方法がわかりません。 4 2023/04/29 20:32
- C言語・C++・C# スタックフレームの消滅 6 2023/05/20 12:33
- 英語 できるだけ直訳で英語の翻訳をお願いします。(英語→日本語) 1 2022/10/15 20:59
- Visual Basic(VBA) エクセルVBAで教えて頂きたいのですが? 2 2022/12/31 20:28
- いじめ・人間関係 Stack Exchangeで2296年までアカウントを停止された。なぜ? 2 2023/03/19 08:40
- VPN 何これ 1 2022/04/19 01:32
- 英語 英文の添削をお願いします 4 2023/05/23 11:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.netでDLLを読み込んで実行す...
-
スタックの伸張方向
-
H8マイコン スタック領域に...
-
最大スタックサイズを大きくす...
-
パソコンでインターネット接続...
-
ubuntuで デイスク/deb/loopと...
-
プログラムの規模を表す単位「k...
-
ライン数とステップ数の違いに...
-
Macと iPadの違いについて 今現...
-
hdmiはパラレル?シリアル?
-
AutoCAD LTの中古。
-
ワープロ検定の勉強法について。
-
ステップカウントツールが作成...
-
ドライブ段の意味(回路用語)
-
ステップ数??
-
社内LANのネットワークトラフィ...
-
ブロック化因数(ブロッキング...
-
ステップ数について
-
L2スイッチの管理VLANに...
-
エクセルのHLOOKUP関数の検索範...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.netでDLLを読み込んで実行す...
-
最大スタックサイズを大きくす...
-
エラー?メッセージ
-
Ethernetヘッダの取得 NDIS
-
GCCで関数の引数が渡らない
-
printf / sprintf のスタック消...
-
スタックフレームの消滅
-
H8マイコン スタック領域に...
-
pthreadのスタックサイズ設定取...
-
_CRTIMPの意味は?
-
スタックを用いて整数配列を入...
-
再帰処理を非再帰処理に書き換...
-
VC++でプログラムから現在のス...
-
cloneのスタック管理
-
マス目上の移動のアルゴリズム
-
gccでスタックサイズを変更する...
-
OCXからのコールバックを繰り返...
-
コンパイラオプション
-
VC++6.0 Stack Overflow !!
-
スタック領域変更
おすすめ情報