1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
andrezito [222]
3 years ago
13

Modify the NumberedList class we implementd during the lecture by adding a member function: void NumberedList::insertPosition(in

t num, int pos) for inserting a new item at a specified position. A position of 0 means that the value will become the first item on the list, a position of 1 means that the value will become the second item on the list, and so on. A position equal to or greater than the length of the list means that the value is placed at the end of the list.
Computers and Technology
1 answer:
satela [25.4K]3 years ago
3 0

Answer:

Check the explanation

Explanation:

#include<iostream>

using namespace std;

class LinkedList

{

private:

   // Declare a structure for the list.

   struct ListNode

   {

   int value;        // The value in this node.

   struct ListNode *next;// To point to the next node.

   };

   ListNode *head;        // List head pointer.

public:

   // Constructor.

   LinkedList()

       { head = NULL; }

   

   // Destructor

   ~LinkedList();

   

   // Linked list operations.

   void appendNode( int );

   void insertNode( int );

   void insertNodeAt(int,int);

    void deleteNode( int );

   void Reverse();

   void deleteAt(int);

   int Search(int);

   void display() const;

};

// appendNode appends a node containing the      

// value passed into num, to the end of the list.  

void LinkedList::appendNode( int num )

{

  ListNode *newNode; // To point to a new node.

  ListNode *nodePtr; // To move through the list.

  // Allocate a new node and store num there.

  newNode = new ListNode;

  newNode->value = num;

  newNode->next = NULL;

  // If there are no nodes in the list.

  // make newNode the first node.

  if ( !head )

     head = newNode;

  else // Otherwise, insert newNode at end.

  {

     // Initialize nodePtr to head of list.

     nodePtr = head;

     // Find the last node in the list.

     while ( nodePtr->next )

        nodePtr = nodePtr->next;

     // Insert newNode as the last node.

     nodePtr->next = newNode;

  }    //    end else-if

  display();  

}    //    end function appendNode

// displayList shows the value stored in each              

// node of the linked list pointed to by head.      

                       

void LinkedList::display() const

{

   ListNode *nodePtr; // To move through the list

   if ( !head )

   {

       cout << "\n\tThe list is empty.";

       return;

   }

   // Position nodePtr at the head of the list.

   nodePtr = head;

   cout << "\n\n\tThe elements in the list are:\n\t";

   // While nodePtr points to a node, traverse the list.

 

    while (nodePtr)

   {

       // Display the value in this node.

       cout << nodePtr->value << " -> ";

       // Move to the next node.

       nodePtr = nodePtr->next;

   }    //    end while.

   cout << "Null";

}    //    end function displayList.

// Reverse function re-arranges node in the list.

void LinkedList::Reverse()

{

   ListNode *nodePtr;

   ListNode *next;

   ListNode *result=NULL;

   if ( !head )

   {

       cout << "\n\tThe list is empty.";

       return;

   }

   // Position nodePtr at the head of the list.

   nodePtr = head;

   while (nodePtr!=NULL)

   {

       next=nodePtr->next;

       nodePtr->next=result;

       result=nodePtr;

       nodePtr=next;

   }

   head=result;

display();

}

// The insertNode function inserts a node with num copied to its value member.                

void LinkedList::insertNode( int num )

{

   ListNode *newNode;             // A new node.

   ListNode *nodePtr;             // To traverse the list.

   ListNode *previousNode = NULL; // The previous node.

   // Allocate a new node and store num there.

   newNode = new ListNode;

   newNode->value = num;

   newNode->next = NULL;

 

   // If there are no nodes in the list make newNode the first node.

   if ( !head )

       head = newNode;

   else // Otherwise, insert newNode.

   {

       // Position nodePtr at the head of list.

       nodePtr = head;

       //    Initialize previousNode to NULL.

       previousNode = NULL;

       //    Skip all nodes whose value is less than num.

       while ( nodePtr != NULL && nodePtr->value < num )

       {

           previousNode = nodePtr;

           nodePtr = nodePtr->next;

       }

       //If the new node is to be the 1st in the list,

       //    insert it before all other nodes.

       if ( previousNode == NULL )

       {

           head = newNode;

           newNode->next = nodePtr;

       }

       else // Otherwise insert after the previous node.

       {

           previousNode->next = newNode;

           newNode->next = nodePtr;

       }

   }    //    end else-if

     

display();  

}    //    end function insertNode.

// The insertNode function inserts a node at pos  

//with num copied to its value member.          

void LinkedList::insertNodeAt( int num ,int pos)

{

   ListNode *newNode;             // A new node.

   ListNode *nodePtr;             // To traverse the list.

   ListNode *previousNode = NULL; // The previous node.

   int i=0;

   // Allocate a new node and store num there.

   newNode = new ListNode;

   newNode->value = num;

   newNode->next = NULL;

   // Position nodePtr at the head of list.

       nodePtr = head;

   if(pos==0)//to inserted at first.

   {  

       newNode->next=head;

       head=newNode;

   }

   else

   {

   while(nodePtr != NULL && i<pos) //loop to reach position.

       {  

           previousNode=nodePtr;

           nodePtr=nodePtr->next;

           i++;

       }

       if(nodePtr==NULL)//position not found.

           cout<<"Invalid Position :"<<endl;

       else//inserts node.

       {

           newNode->next=nodePtr;

           previousNode->next=newNode;

       }

   }

   display();

}

//    The deleteNode function searches for a node with num as its value.  

//The node, if found, is deleted from the list and from memory.

void LinkedList::deleteNode( int num )

{

   ListNode *nodePtr;       // To traverse the list.

   ListNode *previousNode;//To point to the previous node.

   // If the list is empty, do nothing.

   if ( !head )

   {

       cout << "\n\tFailed to delete as list is empty.";  

       return;

   }

   // Determine if the first node is the one.

   if ( head->value == num )

   {

       nodePtr = head->next;

       delete head;

       head = nodePtr;

   }

   else

   {

       // Initialize nodePtr to head of list.

       nodePtr = head;

       // Skip all nodes whose value member is not equal to num.

       while (nodePtr != NULL && nodePtr->value != num)

       {

           previousNode = nodePtr;

           nodePtr = nodePtr->next;

       }

You might be interested in
Application of optical fibre​
densk [106]

Answer:

Internet data transfer.

Explanation:

Optical fibre can be used to move information from one place to another. It is used in internet communications, cable television broadcasting, and telephone communication. One common application is for the transfer of data over the internet. Chances are your browser was able to download this web page by receiving data that came from Brainly's servers, and from my computer, through a fibre optic cable.

4 0
3 years ago
236. A system such as a printer, smart TV, or HVAC controller, typically uses an operating system on what is called a:
irakobra [83]

Answer:

Embedded System

5 0
2 years ago
Read 2 more answers
A computer with a domain name is called a what
Irina18 [472]
A domain refers to a group of computers that are part of a network and share network resources, like your home<span> computers all linked together sharing a printer. The user logs in to the domain and gains access to the resources. Several systems may be involved. The computer itself is referred to as a server.</span>
6 0
3 years ago
Read 2 more answers
Which of the following might be appropriate to be created as a constant variable?
jasenka [17]

Answer:

Number of feet in a mile

Explanation:

In this problem, we need to find an option that to be created as a constant variable.

In option (a) "number of feet in a mile".

As 1 mile = 5280 foot

The number of feet in a mile is constant in every condition.

In option (b), (c) and (d)

number of people inside a store , current grade in a class , score in a football game are no fixed. It is not created as a constant variable.

Hence, the correct option is (a).

7 0
3 years ago
Which line in the following program contains the header for the showDub function? 1 #include 2 using namespace std; 3 4 void sho
Flura [38]

Answer:

The answer to this question is "15 line".

Explanation:

A function is a block of ordered, portable code used to perform a single, connected operation. The syntax of function declaration can be given as:

Syntax :

returntype functionName(parameter1, parameter2); //function prototype

or declaration

returntype functionName(parameter1, parameter2) //function definition or header of the function  

{  

//function body.

//function implementation

 //return value;

}

In the given question the header of the showDub function is on line 15.

That's why the answer to this question is "15 line".  

8 0
3 years ago
Other questions:
  • You are working the 8:00 AM shift at the help desk. An irate user who fails to identify himself calls in claiming that his works
    7·1 answer
  • Explain three ways you can get home safely if the friend you rode with has drugs or alcohol in his or her system and you prevent
    8·1 answer
  • What does the hard disk drive do?
    9·2 answers
  • In a(n) ________ either one condition or some other condition must be met in order for an event to take place.
    11·1 answer
  • Help, with gaming unlocked
    12·1 answer
  • Building relationships during your career exploration is called A. clustering. B. futurecasting. C. matchmaking, D. networking.
    9·2 answers
  • What's a checked exception?
    14·2 answers
  • When attaching a file or files in outlook 365 you select the attach command and then select the files location
    5·1 answer
  • I need help ASAP please and thank you!
    14·1 answer
  • ---------- is a flat fish which swims using its huge side fins.​
    7·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!