VasilM

algo_queue_pointers

Nov 11th, 2013
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.07 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. typedef struct Element *po;
  4.  
  5. struct Element{
  6.     int data;
  7.     po next;
  8. };
  9.  
  10. void main(){
  11.     po beggy, endy, p;
  12.     int input;
  13.  
  14.     beggy = new Element;
  15. //  beggy = NULL;
  16.     endy = new Element;
  17. //  endy = NULL;
  18.     p = new Element;
  19. //  p = NULL;
  20.  
  21.     cin>>input;
  22.     p->data = input;
  23.     p->next = endy->next;
  24.     beggy = p;
  25.     beggy->next = endy;
  26.    
  27.     while(cin>>input){
  28.         if(input == 99) break;
  29.         p = new Element;
  30.         p->data = input;
  31.         p->next = endy->next;
  32.         endy->next = p;
  33.         endy = p;
  34.     }
  35.    
  36.     cout << beggy->data << endl;
  37.     //p = new Element;
  38.     //p = beggy->next;
  39.     cout << beggy->next->data << endl;
  40.     cout << endy->data << endl;
  41.     cout << endy->next->data << endl;
  42.     //rStackPrint(na);
  43.     /*
  44.     na = new Element;
  45.     na->data = 13;
  46.     na->next = new Element;
  47.     na->next->data = 14;
  48.     na->next->next = new Element;
  49.     */
  50. }
  51.  
  52. #include <iostream>
  53. using namespace std;
  54.  
  55. // дефинираме тип - указател към структурата Element
  56. typedef struct Element * po;
  57.  
  58. // създаваме структурата Element
  59. struct Element {
  60.     int Data;
  61.     po Next;
  62. };
  63.  
  64. int main() {
  65.  
  66.     // дефиниране на променливи от тип указател,
  67.     // които да сочат към началото и края на опашката,
  68.     // както и на помощна променлива
  69.     po beggy = NULL;
  70.     po endy = NULL;
  71.     po buffer;
  72.  
  73.     int userInput;
  74.  
  75.     while( cin>>userInput ) {
  76.         if( userInput == 99 ) break;
  77.  
  78.         buffer = new Element;
  79.         buffer->Data = userInput;
  80.         buffer->Next = NULL;
  81.  
  82.         if (beggy == NULL) beggy = buffer;          
  83.         else endy->Next = buffer;
  84.  
  85.         endy = buffer;
  86.     }
  87.    
  88.     //връщане на буферната (помощна) променлива
  89.     //в началото на опашката
  90.     buffer = beggy;
  91.  
  92.     //разпечатване на опашката FIFO
  93.     while (true) {
  94.         cout << buffer->Data << endl;
  95.         if( buffer->Next == NULL) break;
  96.         buffer = buffer->Next;
  97.     }
  98.  
  99.     return EXIT_SUCCESS;
  100.     system("pause");
  101. }
Advertisement
Add Comment
Please, Sign In to add comment