IT/[Everyday]Coding

queue 구현

Jang HyunWoong 2014. 12. 19. 10:27

  1. #include <cstdlib>
  2. #include <iostream>
  3. using namespace std;
  4. #define QUEUE_C 8
  5. int queue[QUEUE_C];
  6. int head = 0;
  7. int tail = -1;
  8. int queue_size = 0;
  9.  
  10. void enqueue(int n)
  11. {
  12. if(queue_size == QUEUE_C){
  13. cout << "queue is full \n";
  14. return;
  15. }
  16. tail++;
  17. queue_size++;
  18. queue[tail]=n;
  19. }
  20.  
  21. int dequeue()
  22. {
  23. int r;
  24. if(queue_size == 0)
  25. {
  26. cout << "queue is empty\n";
  27. return 0;
  28. }
  29. r = queue[head];
  30. head++;
  31. queue_size--;
  32. return r;
  33. }
  34. int main()
  35. {
  36. int number, r;
  37. do
  38. {
  39. cout << "input number : ";
  40. cin >> number;
  41.  
  42. if(number > 0)
  43. {
  44. enqueue(number);
  45. }else if(number == 0){
  46. r = dequeue();
  47. cout << r << endl;
  48. }
  49. }while(number>=0);
  50. return 0;
  51. }


반응형