Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- struct node{
- int number;
- node *next;
- };
- bool isempty(node *head){
- if(head == NULL){
- return true;
- } else {
- return false;
- }
- }
- int menu(){
- int choice;
- cout << "Menu : \n";
- cout << "1: Insert a number to the list \n";
- cout << "2: Remove a number from the list \n";
- cout << "3: Show List\n";
- cout << "4: Exit \n";
- cin >> choice;
- return choice;
- }
- void insertasfirst(node *&head, node *&last, int number){
- node *temp = new node;
- temp->number = number;
- temp->next = NULL;
- head = temp;
- last = temp;
- }
- void insert(node *&head, node *&last, int number){
- if(isempty(head)){
- insertasfirst(head, last, number);
- } else {
- node *temp = new node;
- temp->number = number;
- temp->next = NULL;
- last->next = temp;
- last = temp;
- }
- }
- void remove(node *&head, node *&last){
- if(isempty(head)){
- cout << "List is empty.\n";
- } else if(head == last){
- delete head;
- head == NULL;
- last == NULL;
- } else {
- node *temp = head;
- head = head->next;
- delete temp;
- }
- }
- void showlist(node *current){
- if(isempty(current)){
- cout << "List is empty.\n";
- } else {
- cout << "The list contains : \n";
- while(current != NULL){
- cout << current->number << endl;
- current = current->next;
- }
- }
- }
- int main() {
- node *head = NULL;
- node *last = NULL;
- int choice;
- int number;
- do{
- choice = menu();
- switch(choice){
- case 1:
- cout << "Enter a number: ";
- cin >> number;
- insert(head, last, number);
- break;
- case 2:
- remove(head, last);
- break;
- case 3:
- showlist(head);
- break;
- default:
- cout << "Program ends. \nGood Bye!";
- }
- } while(choice != 4);
- return 0;
- }
Add Comment
Please, Sign In to add comment