fork(2) download
  1. / =============================================================
  2. // This is a driver program to test IntegerList class
  3. // =============================================================
  4. #include <iostream>
  5. #include "IntegerList.h"
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10. // Define the IntegerList object
  11. IntegerList list;
  12.  
  13. // Building list with data in our case integers
  14. list.appendNode(3);
  15. list.appendNode(5);
  16. list.appendNode(7);
  17. list.appendNode(9);
  18.  
  19. list.displayList();
  20. return 0;
  21.  
  22.  
  23.  
  24. // Display all initial values
  25. cout << " These are all the nodes currently in the list. " << endl;
  26. list.displayList();
  27.  
  28.  
  29. // Inserting a node in the middle of the list
  30. cout << " Now we have inserted a node to the middle of the list. " << endl;
  31. list.insertNode(6);
  32.  
  33. // Deleting the last node
  34. cout << " Now we have deleted the last node of the list. " << endl;
  35. list.deleteNode(9);
  36.  
  37. // Remaining values of the list
  38. cout << " These are the remanining nodes of the list. " << endl;
  39. list.displayList();
  40.  
  41. // Deleting the first node
  42. cout << " Now we have deleted the first node of the list. " << endl;
  43. list.deleteNode(3);
  44.  
  45. // Deleting the last node
  46. cout << " These are the remaining nodes left. " << endl;
  47. list.displayList();
  48.  
  49.  
  50. return 0;
  51.  
  52. }
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62. #ifndef INTEGERLIST_H
  63. #define INTEGERLIST_H
  64.  
  65.  
  66.  
  67. class IntegerList
  68. {
  69. private:
  70. // Declaring a structure for the list
  71. struct ListNode
  72. {
  73. int data; // The value i this node
  74. ListNode *next;
  75. };
  76.  
  77. ListNode *head; // This is the head pointer the starting point
  78. public:
  79. IntegerList()
  80. {
  81. head = nullptr;
  82. }
  83.  
  84. // Destructor
  85. ~IntegerList();
  86.  
  87. // This function is used to insert the parameter to the list
  88. // as the last node
  89. void appendNode(int);
  90.  
  91. // This function is used to insert the integer value in its corresponding order.
  92. // NOTE this function assumes that the list is sorted, tooperate properly.
  93. void insertNode(int);
  94.  
  95. // This function deletes the node whose value matches the
  96. // parameter.
  97. void deleteNode(int);
  98.  
  99. // This function will display all the nodes in the end of the program
  100. void displayList() const;
  101.  
  102. };
  103. #endif
  104.  
  105.  
  106. #include "IntegerList.h"
  107. #include <iostream>
  108. using namespace std;
  109.  
  110.  
  111. // To append a node to a linked list means to add the node to the end of the list.
  112. void IntegerList::appendNode(int num)
  113. {
  114. ListNode *newNode; // Points at a new node
  115. ListNode *nodePtr; // Moves through the list
  116.  
  117. // Allocate a new node and store the number
  118. newNode = new ListNode;
  119. newNode->data = num;
  120. newNode->next = nullptr;
  121.  
  122. // Making new node when there are no nodes in the list
  123. if (!head)
  124. head = newNode;
  125. else
  126. {
  127. // Else Insert newNode at the end
  128. //Initialize nodePtr to head/front of the list
  129. nodePtr = head;
  130.  
  131. // Finds last node in the list
  132. while (nodePtr->next)
  133. nodePtr = nodePtr->next;
  134.  
  135. //Insert newNode as the last node.
  136. nodePtr->next = newNode;
  137.  
  138. }
  139. }
  140.  
  141.  
  142. void IntegerList::insertNode(int num)
  143. {
  144. ListNode *newNode; // A new node
  145. ListNode *nodePtr; // To traverse the list
  146. ListNode *previousNode = nullptr; // The previous node
  147.  
  148. // Allocate a new node and store num there.
  149. newNode = new ListNode;
  150. newNode->data = num;
  151.  
  152. // If there are no nodes in the list
  153. // make newNode the first node
  154. if (!head)
  155. {
  156. head = newNode;
  157. newNode->next = nullptr;
  158. }
  159. else // Otherwise, insert newNode
  160. {
  161. // Position nodePtr at the head of list.
  162. nodePtr = head;
  163.  
  164. // Initialize previousNode to nullptr.
  165. previousNode = nullptr;
  166.  
  167. // Skip all nodes whose value is less than num.
  168. while (nodePtr != nullptr && nodePtr->data < num)
  169. {
  170. previousNode = nodePtr;
  171. nodePtr = nodePtr->next;
  172. }
  173.  
  174. // If the new node is to be the 1st in the list,
  175. // insert it before all other nodes.
  176. if (previousNode == nullptr)
  177. {
  178. head = newNode;
  179. newNode->next = nodePtr;
  180. }
  181. else // Otherwise insert after the previous node.
  182. {
  183. previousNode->next = newNode;
  184. newNode->next = nodePtr;
  185. }
  186. }
  187. }
  188.  
  189.  
  190. void IntegerList::deleteNode(int num)
  191. {
  192. //ListNode* newNode;
  193. ListNode* nodePtr; // To traverse the list
  194. ListNode* previousNode; // To point to the previous node
  195.  
  196. // If the list is empty, do nothing.
  197. if (!head)
  198. return;
  199. // Determine if the first node is the one.
  200. if (head->data == num)
  201. {
  202. nodePtr = head->next;
  203. delete head;
  204. head = nodePtr;
  205. }
  206. else
  207. {
  208. // Initialize nodePtr to head of list
  209. nodePtr = head;
  210.  
  211. // Skip all nodes whose value member is
  212. // not equal to num.
  213. while (nodePtr != nullptr && nodePtr->data != num)
  214. {
  215. previousNode = nodePtr;
  216. nodePtr = nodePtr->next;
  217. }
  218.  
  219. // If nodePtr is not at the end of the list,
  220. // link the previous node to the node after
  221. // nodePtr, then delete nodePtr.
  222. if (nodePtr)
  223. {
  224. previousNode->next = nodePtr->next;
  225. delete nodePtr;
  226. }
  227. }
  228.  
  229. }
  230.  
  231. void IntegerList::displayList() const
  232. {
  233. ListNode* nodePtr;
  234. nodePtr = head;
  235. while (nodePtr != nullptr)
  236. {
  237. cout << nodePtr->data << endl;
  238. nodePtr = nodePtr->next;
  239. }
  240. }
  241.  
  242.  
  243. void IntegerList::deleteNode(int num)
  244. {
  245. ListNode* nodePtr; // TO transverse the list
  246. ListNode* previousNode; // TO point to the previous node
  247.  
  248. // If the list is empty do nothing
  249. if (!head)
  250. return;
  251. if (head->data == num)
  252. {
  253. nodePtr = head->next;
  254. delete head;
  255. head = nodePtr;
  256. }
  257. else
  258. {
  259. // Initialize nodePtr to head of list
  260. nodePtr = head;
  261.  
  262. // Skip all ndoes whos value member is not equal to num
  263. while (nodePtr != nullptr && nodePtr->data != num)
  264. {
  265. previousNode = nodePtr;
  266. nodePtr = nodePtr->next;
  267. }
  268.  
  269. // If nodePtr is not at the end of the list, link the previous node to the node after
  270. //nodePtr, then delete nodePtr.
  271. if (nodePtr)
  272. {
  273. previousNode->next = nodePtr->next;
  274. delete nodePtr;
  275.  
  276. }
  277.  
  278. }
  279.  
  280. }
  281.  
  282.  
  283. IntegerList::~IntegerList()
  284. {
  285. ListNode* nodePtr; // To traverse the list
  286. ListNode* nextNode; // To point to the next node
  287.  
  288. // Position nodePtr at the head of the list.
  289. nodePtr = head;
  290.  
  291. // While nodePtr is not at the end of the list...
  292. while (nodePtr != nullptr)
  293. {
  294. // Save a pointer to the next node.
  295. nextNode = nodePtr->next;
  296.  
  297. // Delete the current node.
  298. delete nodePtr;
  299.  
  300. // Position nodePtr at the next node.
  301. nodePtr = nextNode;
  302. }
  303.  
  304. }
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Main.java:1: error: class, interface, or enum expected
/ =============================================================
^
Main.java:4: error: illegal character: '#'
#include <iostream>
^
Main.java:5: error: illegal character: '#'
#include "IntegerList.h"
^
Main.java:8: error: class, interface, or enum expected
int main()
^
Main.java:14: error: class, interface, or enum expected
    list.appendNode(3);
    ^
Main.java:15: error: class, interface, or enum expected
    list.appendNode(5);
    ^
Main.java:16: error: class, interface, or enum expected
    list.appendNode(7);
    ^
Main.java:17: error: class, interface, or enum expected
    list.appendNode(9);
    ^
Main.java:19: error: class, interface, or enum expected
    list.displayList();
    ^
Main.java:20: error: class, interface, or enum expected
    return 0;
    ^
Main.java:25: error: class, interface, or enum expected
    cout << " These are all the nodes currently in the list. " << endl;
    ^
Main.java:26: error: class, interface, or enum expected
    list.displayList();
    ^
Main.java:30: error: class, interface, or enum expected
    cout << " Now we have inserted a node to the middle of the list. " << endl;
    ^
Main.java:31: error: class, interface, or enum expected
    list.insertNode(6);
    ^
Main.java:34: error: class, interface, or enum expected
    cout << " Now we have deleted the last node of the list. " << endl;
    ^
Main.java:35: error: class, interface, or enum expected
    list.deleteNode(9);
    ^
Main.java:38: error: class, interface, or enum expected
    cout << " These are the remanining nodes of the list. " << endl;
    ^
Main.java:39: error: class, interface, or enum expected
    list.displayList();
    ^
Main.java:42: error: class, interface, or enum expected
    cout << " Now we have deleted the first node of the list. " << endl;
    ^
Main.java:43: error: class, interface, or enum expected
    list.deleteNode(3);
    ^
Main.java:46: error: class, interface, or enum expected
    cout << " These are the remaining nodes left. " << endl;
    ^
Main.java:47: error: class, interface, or enum expected
    list.displayList();
    ^
Main.java:50: error: class, interface, or enum expected
    return 0;
    ^
Main.java:52: error: class, interface, or enum expected
}
^
Main.java:62: error: illegal character: '#'
#ifndef INTEGERLIST_H
^
Main.java:63: error: illegal character: '#'
#define INTEGERLIST_H
^
Main.java:69: error: illegal start of type
private:
       ^
Main.java:71: error: ';' expected
    struct ListNode
                   ^
Main.java:74: error: not a statement
        ListNode *next;
                 ^
Main.java:77: error: <identifier> expected
    ListNode *head;   // This is the head pointer the starting point
            ^
Main.java:77: error: <identifier> expected
    ListNode *head;   // This is the head pointer the starting point
                  ^
Main.java:78: error: illegal start of type
public:
      ^
Main.java:85: error: illegal start of type
   ~IntegerList();
   ^
Main.java:89: error: <identifier> expected
    void appendNode(int);
                       ^
Main.java:93: error: <identifier> expected
    void insertNode(int);
                       ^
Main.java:97: error: <identifier> expected
    void deleteNode(int);
                       ^
Main.java:100: error: ';' expected
    void displayList() const;
                      ^
Main.java:103: error: illegal character: '#'
#endif
^
Main.java:106: error: illegal character: '#'
#include "IntegerList.h"
^
Main.java:106: error: class, interface, or enum expected
#include "IntegerList.h"
         ^
Main.java:107: error: illegal character: '#'
#include <iostream>
^
Main.java:112: error: class, interface, or enum expected
void IntegerList::appendNode(int num)
^
Main.java:115: error: class, interface, or enum expected
    ListNode *nodePtr; // Moves through the list
    ^
Main.java:118: error: class, interface, or enum expected
    newNode = new ListNode;
    ^
Main.java:119: error: class, interface, or enum expected
    newNode->data = num;
    ^
Main.java:120: error: class, interface, or enum expected
    newNode->next = nullptr;
    ^
Main.java:123: error: class, interface, or enum expected
    if (!head)
    ^
Main.java:125: error: class, interface, or enum expected
    else
    ^
Main.java:132: error: class, interface, or enum expected
        while (nodePtr->next)
        ^
Main.java:136: error: class, interface, or enum expected
        nodePtr->next = newNode;
        ^
Main.java:138: error: class, interface, or enum expected
    }
    ^
Main.java:145: error: class, interface, or enum expected
    ListNode *nodePtr; // To traverse the list
    ^
Main.java:146: error: class, interface, or enum expected
    ListNode *previousNode = nullptr; // The previous node
    ^
Main.java:149: error: class, interface, or enum expected
    newNode = new ListNode;
    ^
Main.java:150: error: class, interface, or enum expected
    newNode->data = num;
    ^
Main.java:154: error: class, interface, or enum expected
    if (!head)
    ^
Main.java:157: error: class, interface, or enum expected
        newNode->next = nullptr;
        ^
Main.java:158: error: class, interface, or enum expected
    }
    ^
Main.java:165: error: class, interface, or enum expected
        previousNode = nullptr;
        ^
Main.java:168: error: class, interface, or enum expected
        while (nodePtr != nullptr && nodePtr->data < num)
        ^
Main.java:171: error: class, interface, or enum expected
            nodePtr = nodePtr->next;
            ^
Main.java:172: error: class, interface, or enum expected
        }
        ^
Main.java:179: error: class, interface, or enum expected
            newNode->next = nodePtr;
            ^
Main.java:180: error: class, interface, or enum expected
        }
        ^
Main.java:184: error: class, interface, or enum expected
            newNode->next = nodePtr;
            ^
Main.java:185: error: class, interface, or enum expected
        }
        ^
Main.java:194: error: class, interface, or enum expected
    ListNode* previousNode; // To point to the previous node
    ^
Main.java:197: error: class, interface, or enum expected
    if (!head)
    ^
Main.java:200: error: class, interface, or enum expected
    if (head->data == num)
    ^
Main.java:203: error: class, interface, or enum expected
        delete head;
        ^
Main.java:204: error: class, interface, or enum expected
        head = nodePtr;
        ^
Main.java:205: error: class, interface, or enum expected
    }
    ^
Main.java:213: error: class, interface, or enum expected
        while (nodePtr != nullptr && nodePtr->data != num)
        ^
Main.java:216: error: class, interface, or enum expected
            nodePtr = nodePtr->next;
            ^
Main.java:217: error: class, interface, or enum expected
        }
        ^
Main.java:225: error: class, interface, or enum expected
            delete nodePtr;
            ^
Main.java:226: error: class, interface, or enum expected
        }
        ^
Main.java:234: error: class, interface, or enum expected
    nodePtr = head;
    ^
Main.java:235: error: class, interface, or enum expected
    while (nodePtr != nullptr)
    ^
Main.java:238: error: class, interface, or enum expected
        nodePtr = nodePtr->next;
        ^
Main.java:239: error: class, interface, or enum expected
    }
    ^
Main.java:246: error: class, interface, or enum expected
    ListNode* previousNode; // TO point to the previous node
    ^
Main.java:249: error: class, interface, or enum expected
    if (!head)
    ^
Main.java:251: error: class, interface, or enum expected
    if (head->data == num)
    ^
Main.java:254: error: class, interface, or enum expected
        delete head;
        ^
Main.java:255: error: class, interface, or enum expected
        head = nodePtr;
        ^
Main.java:256: error: class, interface, or enum expected
    }
    ^
Main.java:263: error: class, interface, or enum expected
        while (nodePtr != nullptr && nodePtr->data != num)
        ^
Main.java:266: error: class, interface, or enum expected
            nodePtr = nodePtr->next;
            ^
Main.java:267: error: class, interface, or enum expected
        }
        ^
Main.java:274: error: class, interface, or enum expected
            delete nodePtr;
            ^
Main.java:276: error: class, interface, or enum expected
        }
        ^
Main.java:286: error: class, interface, or enum expected
    ListNode* nextNode; // To point to the next node
    ^
Main.java:289: error: class, interface, or enum expected
    nodePtr = head;
    ^
Main.java:292: error: class, interface, or enum expected
    while (nodePtr != nullptr)
    ^
Main.java:298: error: class, interface, or enum expected
        delete nodePtr;
        ^
Main.java:301: error: class, interface, or enum expected
        nodePtr = nextNode;
        ^
Main.java:302: error: class, interface, or enum expected
    }
    ^
98 errors
stdout
Standard output is empty