Topic: Singly Linked List Implement the following functions in C++ program. Read the question carefully. Below are the "CODE THAT NEEDS TO BE IMPROVED" or "NOT FINAL CODE"  (See attached photo for reference)  int add(int num) This will add the element num into the linked list and return the position of the newly-added element. In the above example, having add(60) will return 5 as it is the fifth position in the list. int remove(int num) This will remove the first instance of the element and return the position of the removed element. In the above example, having remove(40) will return 3 as 40 was the third element in the linked list before having removed. int get(int pos) This method will get the element at the specified position. This will return -1 if the specified position is invalid.   int add(int num) {             addTail(num);             return index;         }           int remove(int num) {             node* currnode = head;             node* prevnode = NULL;             int pos = 0;             while (currnode != NULL) {                 pos++;                 if (currnode->element == num) {                     if (prevnode != NULL) {                         prevnode->next = currnode->next;                         if (currnode == tail) {                             tail = prevnode;                         }                         free(currnode);                         index--;                     } else {                         removeHead();                     }                     return pos;                 } else {                     prevnode = currnode;                     currnode = currnode->next;                 }             }             return 0;         }           int get(int pos) {             node* currnode = head;             int count = 0;             while (currnode != NULL) {                 count++;                 if (pos == count) {                     return currnode->element;                 } else {                     currnode = currnode->next;                 }             }             return -1;         }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Topic: Singly Linked List
Implement the following functions in C++ program. Read the question carefully. Below are the "CODE THAT NEEDS TO BE IMPROVED" or "NOT FINAL CODE"  (See attached photo for reference) 

  • int add(int num)

This will add the element num into the linked list and return the position of the newly-added element. In the above example, having add(60) will return 5 as it is the fifth position in the list.

  • int remove(int num)

This will remove the first instance of the element and return the position of the removed element. In the above example, having remove(40) will return 3 as 40 was the third element in the linked list before having removed.

  • int get(int pos)

This method will get the element at the specified position. This will return -1 if the specified position is invalid.

 

int add(int num) {
            addTail(num);
            return index;
        }
 
        int remove(int num) {
            node* currnode = head;
            node* prevnode = NULL;
            int pos = 0;
            while (currnode != NULL) {
                pos++;
                if (currnode->element == num) {
                    if (prevnode != NULL) {
                        prevnode->next = currnode->next;
                        if (currnode == tail) {
                            tail = prevnode;
                        }
                        free(currnode);
                        index--;
                    } else {
                        removeHead();
                    }
                    return pos;
                } else {
                    prevnode = currnode;
                    currnode = currnode->next;
                }
            }
            return 0;
        }
 
        int get(int pos) {
            node* currnode = head;
            int count = 0;
            while (currnode != NULL) {
                count++;
                if (pos == count) {
                    return currnode->element;
                } else {
                    currnode = currnode->next;
                }
            }
            return -1;
        }
public:
LinkedList() {
index = 0;
head = NULL;
tail = NULL;
-LinkedList() {
clear();
Transcribed Image Text:public: LinkedList() { index = 0; head = NULL; tail = NULL; -LinkedList() { clear();
class LinkedList : public List {
node* head;
node* tail;
int index;
node* create_node(int num) {
node* n = (node *) malloc( sizeof(node) );
n->element = num;
n->next =
NULL;
return n;
}
Transcribed Image Text:class LinkedList : public List { node* head; node* tail; int index; node* create_node(int num) { node* n = (node *) malloc( sizeof(node) ); n->element = num; n->next = NULL; return n; }
Expert Solution
steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education