Question

In: Computer Science

IN C++. Objective: Create a Singly linked list of numbers based upon user input. Program logic:...

IN C++.

Objective: Create a Singly linked list of numbers based upon user input. Program logic: Ask for a number, add that number to the front of the list, print the list. Repeat until they enter -1 for the number. . Sample Input: 10, 15, 5, 2, 4, -1 Output: 4, 2, 5, 15, 10.

Next sort all the numbers using selection sort and display them. Next give the user option to search for a specific number in the list. If the user desired number exist output "the number you entered exists" else output "this number does not exist".

Next ask user if they want to delete a specific number. Delete and display an appropriate message. If the user specified number does not exist display an appropriate message.

Don't use class. Structs and nodes only

Solutions

Expert Solution

Code

#include<iostream>
using namespace std;
void sorted_ins(struct Node **,struct Node *);
struct Node
{
    int value;
    struct Node *next;
};

struct Node *head=NULL;

void add(struct Node **head,int v)
{
    struct Node *node = new Node;
    node->value=v;
    node->next=*head;
    *head=node;
}

void selection_sort(struct Node **head)
{
    struct Node* temp = *head;
    while(temp)
    {
        struct Node* min = temp;
        struct Node* r = temp->next;
        while(r)
        { 
            if(min->value > r->value)
                min = r; 
            r = r->next;
        } 
        int x = temp->value;
        temp->value= min->value;
        min->value= x;
        temp = temp->next;
    }
}


void del(struct Node **head,int d)
{
    struct Node *current=NULL;
    struct Node *prev=NULL;
    if((*head)->value != d && (*head)->next == NULL) 
    {
        printf("%d not found in the list\n", d);
         return;
    }
    current=*head;
    while(current->next != NULL && current->value != d)
    {
        prev = current;
        current = current->next;
    }
    if(current->value == d)
    {
        prev->next = prev->next->next;
        cout<<d<<" has been deleted successfully";
        free(current);
    }
    else
        printf("%d not found in the list.", d);
}
void search(struct Node** head,int v)
{
    struct Node *current=*head;
    while(current!=NULL)
    {
        if(current->value == v)
        {
            printf("the number you entered exists\n");
            return;
        }
        current = current->next;
    }
    printf("the number you entered does not exist",v);
} 
void print(struct Node** head)
{
    struct Node * temp=*head;
    while(temp!=NULL)
    {
        printf("%d ",temp->value);
        temp=temp->next;
    }
}
int main()
{
    struct Node *s=NULL;
    int d;
    while(1) //store  value to list till -1 entered 
    {
        cin>>d;
        if(d==-1)
            break;
        add(&s,d);
    }
    cout<<"inserted elements \n";
    print(&s);
    selection_sort(&s);
    cout<<"\nelements after sort\n";
    print(&s);
    cout<<"\nenter a number to search\n";
    cin>>d;
    search(&s,d); //search the element
    cout<<"enter a number to delete\n";
    cin>>d;
    del(&s,d); //delete the element
    cout<<"\nelememts after deletion\n";
    print(&s);
    return 0;
}

Terminal Work

.


Related Solutions

IN C++. Objective: Create a Singly linked list of numbers based upon user input. Program logic:...
IN C++. Objective: Create a Singly linked list of numbers based upon user input. Program logic: Ask for a number, add that number to the front of the list, print the list. Repeat until they enter -1 for the number. . Sample Input: 10, 15, 5, 2, 4, -1 Output: 4, 2, 5, 15, 10. Next sort all the numbers using selection sort and display them. Next give the user option to search for a specific number in the list....
Exercise 1: Write a program in Java to manipulate a Singly Linked List: 1. Create Singly...
Exercise 1: Write a program in Java to manipulate a Singly Linked List: 1. Create Singly Linked List 2. Display the list 3. Count the number of nodes 4. Insert a new node at the beginning of a Singly Linked List. 5. Insert a new node at the end of a Singly Linked List 6. Insert a new node after the value 5 of Singly Linked List 7. Delete the node with value 6. 8. Search an existing element in...
Create the logic for a rhyming program that takes in five words from a user input...
Create the logic for a rhyming program that takes in five words from a user input and replaces the selected rhyming words with the user's input, then creates and displays the Humpty Dumpty rhyme with the five words from the user input. Hint: 1. You will use the sentinel values: start and stop 2. The program will ask the user for 5 words. 3. The program will store the 5 words 4. The program outputs the rhyme replacing the ____...
In C++, Implement the queue ADT with a singly linked list
In C++, Implement the queue ADT with a singly linked list
Ask the user to input a series of numbers, write a C# program to output the...
Ask the user to input a series of numbers, write a C# program to output the sum, max, and min. Be sure to do error checking if the user input is not a number.
OBJECTIVE C 2) // Create a small app that takes user input and performs a useful...
OBJECTIVE C 2) // Create a small app that takes user input and performs a useful calculation with that user input // - make sure that absolutely no input crashes the app. // - Use layout constraints to make sure the app looks good in portraint and landscape mode, as well as on small and large devices.
Create a C++ program that will prompt the user to input an integer number and output...
Create a C++ program that will prompt the user to input an integer number and output the corresponding number to its numerical words. (From 0-1000000 only) **Please only use #include <iostream>, switch and if-else statements only and do not use string storing for the conversion in words. Thank you.** **Our class is still discussing on the basics of programming. Please focus only on the basics. Thank you.** Example outputs: Enter a number: 68954 Sixty Eight Thousand Nine Hundred Fifty Four...
Using C++ Create a program that asks the user to input a string value and then...
Using C++ Create a program that asks the user to input a string value and then outputs the string in the Pig Latin form. - If the string begins with a vowel, add the string "-way" at the end of the string. For “eye”, it will be “eye-way”. - If the string does not begin with a vowel, first add "-" at the end of the string. Then rotate the string one character at a time; that is, move the...
Write a complete C++ program that prompts the user for and takes as input, numbers until...
Write a complete C++ program that prompts the user for and takes as input, numbers until the user types in a negative number. the program should add all of the numbers together. Then if the result is less than 20 the program should multiply the result by 3, otherwise subtract 2 from the result. Finally, the program should printout the result.
Using RAPTOR create a program that allows the user to input a list of first names...
Using RAPTOR create a program that allows the user to input a list of first names in on array and last names into a parallel array. Input should be terminated when the user enters a sentinel character. the output should be a list of email address where the address is of the following form: [email protected]
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT