Source of linkint1.cpp


  1: // Filename: LINKINT1.CPP
  2: // Purpose:  Illustrates a sequence of linked nodes.

  4: #include <iostream>
  5: #include <iomanip>
  6:  

  8: typedef int DataType;

 10: struct  Node;
 11: typedef Node* NodePointer;
 12: struct  Node
 13: {
 14:     DataType data;
 15:     NodePointer link;
 16: };


 19: int main()
 20: {
 21:     NodePointer head, current, next;
 22:         
 23:     // Get a first node and read a value into it
 24:     head = new Node;
 25:     current = head;
 26:     cin >> current->data;
 27:         
 28:     // Add a new node and read a value into it
 29:     next = new Node;
 30:     current->link = next;
 31:     current = next;
 32:     cin >> current->data;
 33:         
 34:     // Add a new node and read a value into it
 35:     next = new Node;
 36:     current->link = next;
 37:     current = next;
 38:     cin >> current->data;
 39:     
 40:     // Note that the preceding two code segments are identical,
 41:     // and either code segment could serve as the body of a loop
 42:     // to build a sequence of linked nodes.

 44:     // Make sure the sequence is terminated properly
 45:     current->link = NULL;
 46:     
 47:     // Output the data value in each node
 48:     cout << endl;
 49:     current = head;
 50:     while (current != NULL)
 51:     {
 52:         cout << setw(5) << current->data;
 53:         current = current->link;
 54:     }
 55:     cout << endl << endl;

 57:     return 0;
 58: }