<프로그래밍 알고리즘> 두 스택 큐를 구현

. (1) #INCLUDE <iostream>
 2  은 USING  공간 STD]
 . 3  
. 4 타입 정의 구조체 노드를
 5.  {
 6.      INT의 NUM]
 . 7      노드 * pNext]
 . 8  } 스택 큐]
 . 9  
(10)  // 연결리스트의 삽입 헤드 스택에 대응하는 스택 
. 11 스택 * stack_push은 (**에 P to P 스택은 INT NUM)
 (12)는  {
 13는      스택 * • pNode = (스택 *) malloc이 ( sizeof의 (스택))
 14      pNode-> NUM = NUM;
 15      pNode-> pNext = NULL;
16  
17      pNode-> = * pNext 에 P to P;
18      *에 P to P = pNode;
19      
20      복귀 *의 에 P to P;
21  }
 22  
23  INT의 stack_pop (** 스택 에 P to P)
 24  {
 25      의 경우 ((*에 P to P) == NULL)  - 1 ;
26  
27      스택 PPOP * = * 에 P to P;
28      INT NUM = pPop-> NUM;
29      
30      *에 P to P = (*에 P to P) -> pNext;
(31)      자유 (PPOP);
32      PPOP =NULL;
 33이고      
34은      리턴 ; NUM
 35  }
 36  
37 [  보이드 PrintStack (스택 * 에 P to P)가
 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 주 ()
 76  {
 77      스택 * pTop1 = 이 NULL; // 으로 스택 
(78)      스택 pTop2 * = NULL; // 스택 대 
(79)      / * stack_push (에 P to P ,. 1)
 80      stack_push (에 P to P, 2)
 81      stack_push (에 P to P ,. 3)
 82      stack_push (에 P to P, 4);
 3 );
92      queue_push (pTop1, pTop2, 4 );
93     
     (pTop1, queue_pop pTop2)를;
94      queue_pop (pTop1, pTop2);
95  
(96)      시스템 ( " 정지 " );
97      반환  0 ;
98 }

 

추천

출처www.cnblogs.com/Aaaaaalei0612/p/11221005.html