<プログラミングアルゴリズム> 2つのスタックは、キューを実装します

1の#include <iostreamの>
 2  使用して 名前空間STD;
 3  
。4のtypedef 構造体ノード
 5  {
 6      INT NUM;
 7      ノード* pNext;
 8  }スタック、キュー;
 9  
10  // リンクリスト挿入のヘッドスタックに対応するスタック
11のスタック* stack_push(** PCF間スタック、INT NUM)
 12は、 {
 13は、      スタック*•PNODE =(スタック*)はmallocはsizeof (スタック));
 14      pNode-> NUM = NUM;
 15      pNode-> pNext = NULL;
16  
17      pNode-> pNext = * PTOP。
18      * PTOP = PNODE。
19      
20      リターン * PTOP。
21  }
 22  
23  のint stack_pop(スタック** PTOP)
 24  {
 25      であれば((* PTOP)== NULL)リターン - 1 26  
27      スタック* PPOP = * PTOP;
28      int型 NUM = pPop-> NUM;
29      
30      * PTOP =(* PTOP) - > pNext。
31      フリー(PPOP)。
32      のpPOP =NULL;
 33は     
34である     戻りNUMを;
 35  }
 36  
37 [  ボイド PrintStack(スタック* PCF間)
 38である {
 39      COUT << " 現在のスタック要素:" << pTop-> NUM << ENDL;
 40  }
 41は 
42であり、 // キュースタックに
43である * queue_push(スタックpTop1 **、** pTop2スタック、キューINT NUM)
 44である {
 45      // 最初の要素はスタック全体場合に押し戻される2スタックがあるかどうか1判断
46である     IF((* pTop2)!= NULL)
 47      {
 48          しばらく((* pTop2)!=NULL)
 49          {
 50              stack_push(pTop1、stack_pop(pTop2));
 51である         }
 52である     }
 53である 
54れる     // 既存の要素は、すべてのスタックにされている、またはスタックが1空である
 55      // スタックに直接
56で     stack_push(pTop1、NUM) 、
 57である 
58      リターン(キュー* )pTop1;
 59  }
 60  
61である INT queue_popは(pTop1スタック**、**スタックpTop2)が
 62である {
 63れる     //は、すべてのスタック要素1を配置する要素がない場合、スタックを決定しています図2は、スタックポップにプッシュした後、
64      IF((* pTop1)!= NULL)
 65      {
 66         一方、((* pTop1)!= NULL)
 67          {
 68              stack_push(pTop2、stack_pop(pTop1));
 69          }
 70      }
 71は、 
72      のリターン; stack_pop(pTop2)
 73である }
 74  
75  のint main()の
 76  {
 77      スタック* pTop1 = NULLは; // にスタックに
78      スタックpTop2 * = NULL; // スタックのための
79      / * stack_push(&PCF間,. 1);
 80      stack_push(&PCF間、2);
 81      stack_push(&PCF間,. 3);
 82      stack_push(&PTOP、4)。
 3 )。
92      queue_push(&pTop1、&pTop2、4 )。
93     
     queue_pop(&pTop1、&pTop2)。
94      queue_pop(&pTop1、&pTop2)。
95  
96      システム(" 一時停止" )。
97      リターン 0 ;
98 }

 

おすすめ

転載: www.cnblogs.com/Aaaaaalei0612/p/11221005.html