bhupixb

Queue Implementation

Jan 9th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1. #include "bits/stdc++.h"
  2. using namespace std;
  3. struct node {
  4. int data;
  5. node *next;
  6. };
  7. class que {
  8. public :
  9. node *f, *r;
  10. que() {
  11. f = r = NULL;
  12. }
  13.  
  14. void add(int let) {
  15. node *p;
  16. if(f == NULL) {
  17. p = new node;
  18. f = r = p;
  19. p -> data = let;
  20. p -> next = NULL;
  21. } else {
  22. p = new node;
  23. p -> data = let;
  24. p -> next = NULL;
  25. r -> next = p;
  26. r = p;
  27. }
  28. }
  29. void del() {
  30. if(f == NULL) {
  31. cout << "queue is Empty\n";
  32. } else{
  33. if(f == r) {
  34. //cout << f -> data << '\n';
  35. delete f;
  36. f = r = NULL;
  37. }
  38. else {
  39. node *temp = f -> next;
  40. delete f;
  41. f = temp;
  42. }
  43. }
  44. }
  45. void disp() {
  46. node *temp = f;
  47. while(temp != NULL) {
  48. cout << temp -> data << ' ';
  49. temp = temp -> next;
  50. }
  51. }
  52. bool e() {
  53. return (f == NULL);
  54. }
  55. int fro() {
  56. if(f == NULL) {
  57. return cout << "Queue is Empty\n",0;
  58. } else {
  59. return f -> data;
  60. }
  61.  
  62. }
  63. };
  64. int main(){
  65. que v;
  66. int n, x;
  67. cin >> n;
  68. for(int i = 1; i <= n; ++i) {
  69. cin >> x;
  70. v.add(x);
  71. }
  72. v.fro();
  73. return 0;
  74. }
Add Comment
Please, Sign In to add comment