このコードでキュー機能を表示して、最初に挿入された値のみを数回出力するのはなぜですか?

Learning_Code

リンクリストを使用してキューデータ構造を実装する方法を学んでいます。これが私のコードです。この表示機能が最初に挿入された要素のみを印刷する理由。そしてもう1つの疑問は、オタク向けのオタクでいくつかのコードを見たということです。そこにも別のキュー構造があります。最後に追加し、前に削除することで、単一のリンクリストのような実装で十分だと思います。これに何か問題はありますか?これが私のコードです。

#include<iostream> #include<stdlib.h> #define memory (struct queue*)malloc(sizeof(struct queue)) using namespace std; struct queue{ int data; struct queue *next; }; struct queue *front=NULL, *rear=NULL; class constructQ{ public: void enQ(int num){ struct queue *newnode= memory; newnode->data= num; newnode->next= NULL; if(!rear){ rear=newnode; if(!front) front= newnode; } else{ rear->next= newnode; rear= newnode; } } void display(){ struct queue *tmp= front; while(tmp){ cout << front->data << " "; tmp= tmp->next; } } }; int main(){ int num, choice; constructQ q; while(1){ cout << "1.enqueue 2.Dequeue 3.display 4.exit" << endl; cin >> choice; switch(choice){ case 1: cin>> num; q.enQ(num); break; case 3: q.display(); break; case 4: exit(0); default: cout << "invalid input" << endl; break; } } return 0; }
ラフペレス
  1. 最初の(フロント)ノードのみが出力されているのは、コードが次のとおりであるためです。

    cout << front->data << " "; // prints the front value every iteration

代わりにwhileループで:

cout << tmp->data << " " // prints the data in tmp which is the next in every iteration;
  1. リンクリストを使用して、キューとスタックを実装できます。STLは、二重リンクリストを使用して逆反復を可能にします。

注:nullptrNULLの代わりにNULLポインターに使用することをお勧めします(エラーが発生しにくい)。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

このコードでは、他の値で正常に機能しているのに、入力値4.2でのみ間違った出力が得られるのはなぜですか?

分類Dev

入力を読み取る前に、このコードが出力されるのはなぜですか?

分類Dev

ユーザーが最初のコマンドを入力した後、このメッセージが2回出力されるのはなぜですか?

分類Dev

要素をハッシュツリーに挿入するためのCコードがMain()で機能するのに、関数を介して呼び出すと機能しないのはなぜですか?

分類Dev

フラスコのビュー機能を介して返されたJSONファイルがAJAXに表示されるのはなぜですか?

分類Dev

HTMLの初心者、なぜこのコードは機能しないのですか?テキストが適切に表示されていませんか?

分類Dev

このコードが1と2で機能しているのに、3を超える入力では失敗するのはなぜですか?

分類Dev

このコードがランダムに選択された属性を出力するのはなぜですか?

分類Dev

入力テキストに値を渡すと、このコードが機能しないのはなぜですか?

分類Dev

コードでwebelementsの値に対して間違った出力を取得するのはなぜですか?

分類Dev

シフト挿入が挿入モードでのみ完全に機能するのはなぜですか?

分類Dev

PDOが間違った値を挿入してMySqlにこの準備された挿入が行われるのはなぜですか?

分類Dev

入力したのに、出力にガベージ値が表示されるのはなぜですか

分類Dev

ユーザーがEnterキーボードを押した場合、読み取り手順で改行が挿入されるのはなぜですか?

分類Dev

リンクリストの特定の位置にノードを挿入するときに、次のコードが機能しないのはなぜですか?

分類Dev

テキストファイルの最初の行を読み取るためにバッチスクリプトで使用される「set / p」メソッドが「for」ループの本体で機能しないのはなぜですか?

分類Dev

EntityFrameworkコードが最初にコードに設定されたキー値を無視するのはなぜですか

分類Dev

このコードが機能するのはなぜですか?Rails 4、ビューにネストされた属性を使用して反復を記録する

分類Dev

なぜこのコンピューターは前に倒されたときにのみ機能するのですか?

分類Dev

単一リンクリストの最後にノードを挿入する次のコードが機能しないのはなぜですか?

分類Dev

レコードが存在する場合は、それを削除して新しいレコードを挿入します。なぜこれが機能しないのですか?

分類Dev

ユーザーが入力した入力をチェックするこのコードが正しく機能しないのはなぜですか?

分類Dev

私のコードがPython2.7で正常に機能しているのに、Python 3.4では何も出力されないのはなぜですか?

分類Dev

Javaで別のXMLドキュメントの最初の子としてXMLノードを挿入するにはどうすればよいですか?

分類Dev

で作成されたスコープクロージャに応じて、このコードが機能する/失敗するのはなぜですか?

分類Dev

次のコードでfgetsを使用してユーザー入力を取得できないのに、scanfで機能するのはなぜですか?

分類Dev

数値を使用した入力に対してこの関数が実際に入力type:numberでのみ機能しないのはなぜですか?

分類Dev

この `printf`コードを変更して、最初から最後の順序で入力を受け入れる、または出力を反転する方法は?

分類Dev

提供されたセットでコードがばかげた数値を出力するのはなぜですか?String.formatを試しています

Related 関連記事

  1. 1

    このコードでは、他の値で正常に機能しているのに、入力値4.2でのみ間違った出力が得られるのはなぜですか?

  2. 2

    入力を読み取る前に、このコードが出力されるのはなぜですか?

  3. 3

    ユーザーが最初のコマンドを入力した後、このメッセージが2回出力されるのはなぜですか?

  4. 4

    要素をハッシュツリーに挿入するためのCコードがMain()で機能するのに、関数を介して呼び出すと機能しないのはなぜですか?

  5. 5

    フラスコのビュー機能を介して返されたJSONファイルがAJAXに表示されるのはなぜですか?

  6. 6

    HTMLの初心者、なぜこのコードは機能しないのですか?テキストが適切に表示されていませんか?

  7. 7

    このコードが1と2で機能しているのに、3を超える入力では失敗するのはなぜですか?

  8. 8

    このコードがランダムに選択された属性を出力するのはなぜですか?

  9. 9

    入力テキストに値を渡すと、このコードが機能しないのはなぜですか?

  10. 10

    コードでwebelementsの値に対して間違った出力を取得するのはなぜですか?

  11. 11

    シフト挿入が挿入モードでのみ完全に機能するのはなぜですか?

  12. 12

    PDOが間違った値を挿入してMySqlにこの準備された挿入が行われるのはなぜですか?

  13. 13

    入力したのに、出力にガベージ値が表示されるのはなぜですか

  14. 14

    ユーザーがEnterキーボードを押した場合、読み取り手順で改行が挿入されるのはなぜですか?

  15. 15

    リンクリストの特定の位置にノードを挿入するときに、次のコードが機能しないのはなぜですか?

  16. 16

    テキストファイルの最初の行を読み取るためにバッチスクリプトで使用される「set / p」メソッドが「for」ループの本体で機能しないのはなぜですか?

  17. 17

    EntityFrameworkコードが最初にコードに設定されたキー値を無視するのはなぜですか

  18. 18

    このコードが機能するのはなぜですか?Rails 4、ビューにネストされた属性を使用して反復を記録する

  19. 19

    なぜこのコンピューターは前に倒されたときにのみ機能するのですか?

  20. 20

    単一リンクリストの最後にノードを挿入する次のコードが機能しないのはなぜですか?

  21. 21

    レコードが存在する場合は、それを削除して新しいレコードを挿入します。なぜこれが機能しないのですか?

  22. 22

    ユーザーが入力した入力をチェックするこのコードが正しく機能しないのはなぜですか?

  23. 23

    私のコードがPython2.7で正常に機能しているのに、Python 3.4では何も出力されないのはなぜですか?

  24. 24

    Javaで別のXMLドキュメントの最初の子としてXMLノードを挿入するにはどうすればよいですか?

  25. 25

    で作成されたスコープクロージャに応じて、このコードが機能する/失敗するのはなぜですか?

  26. 26

    次のコードでfgetsを使用してユーザー入力を取得できないのに、scanfで機能するのはなぜですか?

  27. 27

    数値を使用した入力に対してこの関数が実際に入力type:numberでのみ機能しないのはなぜですか?

  28. 28

    この `printf`コードを変更して、最初から最後の順序で入力を受け入れる、または出力を反転する方法は?

  29. 29

    提供されたセットでコードがばかげた数値を出力するのはなぜですか?String.formatを試しています

ホットタグ

アーカイブ