Kulesh

LINKED LISTS

Dec 17th, 2016
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. #include<iostream>
  2.  
  3. using namespace std;
  4.  
  5. struct node{
  6. int number;
  7. node *next;
  8. };
  9. bool isempty(node *head){
  10. if(head == NULL){
  11. return true;
  12. } else {
  13. return false;
  14. }
  15. }
  16. int menu(){
  17. int choice;
  18. cout << "Menu : \n";
  19. cout << "1: Insert a number to the list \n";
  20. cout << "2: Remove a number from the list \n";
  21. cout << "3: Show List\n";
  22. cout << "4: Exit \n";
  23. cin >> choice;
  24. return choice;
  25. }
  26. void insertasfirst(node *&head, node *&last, int number){
  27. node *temp = new node;
  28. temp->number = number;
  29. temp->next = NULL;
  30. head = temp;
  31. last = temp;
  32. }
  33. void insert(node *&head, node *&last, int number){
  34. if(isempty(head)){
  35. insertasfirst(head, last, number);
  36. } else {
  37. node *temp = new node;
  38. temp->number = number;
  39. temp->next = NULL;
  40. last->next = temp;
  41. last = temp;
  42.  
  43. }
  44. }
  45. void remove(node *&head, node *&last){
  46. if(isempty(head)){
  47. cout << "List is empty.\n";
  48. } else if(head == last){
  49. delete head;
  50. head == NULL;
  51. last == NULL;
  52. } else {
  53. node *temp = head;
  54. head = head->next;
  55. delete temp;
  56. }
  57. }
  58. void showlist(node *current){
  59. if(isempty(current)){
  60. cout << "List is empty.\n";
  61. } else {
  62. cout << "The list contains : \n";
  63. while(current != NULL){
  64. cout << current->number << endl;
  65. current = current->next;
  66. }
  67. }
  68. }
  69. int main() {
  70. node *head = NULL;
  71. node *last = NULL;
  72. int choice;
  73. int number;
  74. do{
  75. choice = menu();
  76. switch(choice){
  77. case 1:
  78. cout << "Enter a number: ";
  79. cin >> number;
  80. insert(head, last, number);
  81. break;
  82. case 2:
  83. remove(head, last);
  84. break;
  85. case 3:
  86. showlist(head);
  87. break;
  88. default:
  89. cout << "Program ends. \nGood Bye!";
  90. }
  91. } while(choice != 4);
  92. return 0;
  93. }
Add Comment
Please, Sign In to add comment