Advertisement
MusicFreak

Programiranje 22.05.2013

May 22nd, 2013
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.47 KB | None | 0 0
  1.                         LISTE!!!
  2.  
  3.  
  4. #include <iostream>                                                        
  5. #include <cstdlib>
  6.  
  7. using namespace std;
  8.  
  9. typedef int elemType;
  10. typedef struct Node
  11. {
  12.         elemType elem;
  13.         Node *next;
  14. };
  15.  
  16. Node* prepend(Node *first, Node *pNew)
  17. {
  18.       if (pNew != NULL)
  19.          pNew -> next = first;
  20.       return (pNew);
  21. }
  22.  
  23.  
  24. Node* find_in_list(elemType x, Node *first)
  25. {
  26.       Node *p = first;
  27.       while (p != NULL && p -> elem != x)
  28.             p = p -> next;
  29.       return p;
  30. }
  31.  
  32.  
  33. void print_list(Node *l)
  34. {
  35.      while(l != NULL)
  36.      {
  37.                    cout << l -> elem << endl;
  38.                    l = l -> next;
  39.      }
  40. }
  41.  
  42.  
  43. Node* append(Node *first, Node *pNew)
  44. {
  45.       Node *last = first;
  46.       if (first == NULL)
  47.       {
  48.       first = pNew;
  49.       pNew -> next = NULL;
  50.       }
  51.       else {
  52.            while (last -> next != NULL)
  53.            last = last -> next;
  54.            last -> next = pNew;
  55.            pNew -> next = NULL;
  56.            }
  57.            return first;
  58.            }
  59.            
  60.       Node* node_insert_after(Node *here, Node *pNew)
  61.       {
  62.             if (here == NULL)
  63.             pNew -> next = NULL;
  64.             else {
  65.                  pNew -> next = here -> next;
  66.                  here -> next = pNew;
  67.                  }
  68.                  return (pNew);
  69.                  }
  70.  
  71. int main()
  72. {
  73.     Node *First = new Node;
  74.     First = NULL;
  75.     Node *pNew = new Node;
  76.    
  77.     pNew -> elem = 9;
  78.     First = prepend(First, pNew);
  79.    
  80.     pNew = new Node;
  81.     pNew -> elem = 7;
  82.     First = prepend(First, pNew);
  83.    
  84.     pNew = new Node;
  85.     pNew -> elem = 5;
  86.     First = prepend(First, pNew);
  87.    
  88.     pNew = new Node;
  89.     pNew -> elem = 3;
  90.     First = prepend(First, pNew);
  91.    
  92.     pNew = new Node;
  93.     pNew -> elem = 1;
  94.     First = prepend(First, pNew);
  95.  
  96.     if (First != NULL)
  97.        print_list(First);  
  98.    
  99.     cout<<" --- Od nekog odredjenog broja --- "<<endl;
  100.    
  101.     pNew = find_in_list(7, First);
  102.     print_list(pNew);
  103.    
  104.     cout<<" --- Na kraj se dopisuje 6 --- "<<endl;
  105.    
  106.     pNew = new  Node;
  107.     pNew -> elem = 6;
  108.     First = append (First, pNew);
  109.     print_list(First);
  110.    
  111.     cout<<" --- U sredini liste se dodaje neki broj --- "<<endl;
  112.    
  113.     pNew = new Node;
  114.     pNew -> elem = 6;
  115.     Node *here = find_in_list(5, First);
  116.     pNew = node_insert_after (here, pNew);
  117.     print_list (First);
  118.    
  119.     system ("pause");
  120.     return 0;
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement