delete a linked list node

Anonymous
timer Asked: Apr 26th, 2018
account_balance_wallet $5

Question Description

i wrote a code but i am not sure and my assignment is due today by midnight. if you do correction i appreciate.

#include <iostream>

using namespace std;

struct node {

int value;

node *next;

};

void insertAtEnd(node * list1);

void insertBetween(node * List1, int a, int b);

node* delete_first(node * root);

void delete_last();

void delete_position(node * root, int pos);

int main() {

node *root = new node;

node *current = new node;

current = root;

int inputValue = 0;

cout << "Enter no: ";

cin >> inputValue;

node *temp = new node;

temp->value = inputValue;

temp->next = NULL;

root = temp;

current = temp;

//BUILD LINKED LIST

do {

cout << "Enter no: ";

cin >> inputValue;

node *temp = new node;

temp->value = inputValue;

temp->next = NULL;

current->next = temp;

current = current->next;

} while (current->value != 0);

root = delete_first(root);

//PRINT LINKED LIST - TRAVERSE

current = root;

cout << endl << "Now printing the linked list..." << endl;

do {

cout << current->value << " ";

current = current->next;

} while (current->next != NULL);

cout << endl << "Print complete.";

int a;

cin >> a;

getchar();

return 0;

}

void insertAtEnd(node * list1) {

node *current = list1;

int inputValue = 0;

do {

if (current->next->next == NULL) {

current = current->next;

cout << endl << "Enter Value to new node: ";

cin >> inputValue;

node*temp = new node;

temp->value = inputValue; // assign value to new node

temp->next = NULL; // last node therefore ->next ==NULL

current->next = temp; // join temp with the list (current is last node in the list prior

current = current->next;// current now point to the last node in the list

}

else {

current = current->next;

}

} while (current->next != NULL);

}

void insertBetween(node * List1, int a, int b) {

node*current = List1;

int inputValue;

do {

if (current->value == a && current->next->value == b) {

cout << endl << "Enter value to new node:";

cin >> inputValue;

node*temp = new node;

temp->value = inputValue;

temp->next = current->next;

current->next = temp;

break;

}

else {

current = current->next;

}

} while (current->next != NULL);

}

node* delete_first(node * root)

{

node *temp = new node;

temp = root;

root = root->next;

delete temp;

return root;

}

void delete_last()

{

node *current = new node;

node *previous = new node;

//current = head;

while (current->next != NULL)

{

previous = current;

current = current->next;

}

//tail = previous;

previous->next = NULL;

delete current;

}

void delete_position(node * root, int pos)

{

node *current = new node;

node *previous = new node;

current = root;

for (int i = 1; i<pos; i++)

{

previous = current;

current = current->next;

}

previous->next = current->next;

}


Unformatted Attachment Preview

#include using namespace std; struct node { int value; node *next; }; void insertAtEnd(node * list1); void insertBetween(node * List1, int a, int b); node* delete_first(node * root); void delete_last(); void delete_position(node * root, int pos); int main() { node *root = new node; node *current = new node; current = root; int inputValue = 0; cout << "Enter no: "; cin >> inputValue; node *temp = new node; temp->value = inputValue; temp->next = NULL; root = temp; current = temp; //BUILD LINKED LIST do { cout << "Enter no: "; cin >> inputValue; node *temp = new node; temp->value = inputValue; temp->next = NULL; current->next = temp; current = current->next; } while (current->value != 0); root = delete_first(root); //PRINT LINKED LIST - TRAVERSE current = root; cout << endl << "Now printing the linked list..." << endl; do { cout << current->value << " "; current = current->next; } while (current->next != NULL); cout << endl << "Print complete."; int a; cin >> a; getchar(); return 0; } void insertAtEnd(node * list1) { node *current = list1; int inputValue = 0; do { if (current->next->next == NULL) { current = current->next; cout << endl << "Enter Value to new node: "; cin >> inputValue; node*temp = new node; temp->value = inputValue; // assign value to new node temp->next = NULL; // last node therefore ->next ==NULL current->next = temp; // join temp with the list (current is last node in the list prior current = current->next;// current now point to the last node in the list } else { current = current->next; } } while (current->next != NULL); } void insertBetween(node * List1, int a, int b) { node*current = List1; int inputValue; do { if (current->value == a && current->next->value == b) { cout << endl << "Enter value to new node:"; cin >> inputValue; node*temp = new node; temp->value = inputValue; temp->next = current->next; current->next = temp; break; } else { current = current->next; } } while (current->next != NULL); } node* delete_first(node * root) { node *temp = new node; temp = root; root = root->next; delete temp; return root; } void delete_last() { node *current = new node; node *previous = new node; //current = head; while (current->next != NULL) { previous = current; current = current->next; } //tail = previous; previous->next = NULL; delete current; } void delete_position(node * root, int pos) { node *current = new node; node *previous = new node; current = root; for (int i = 1; inext; } previous->next = current->next; // Delete the node at position } ...

This question has not been answered.

Create a free account to get help with this and any other question!

Brown University





1271 Tutors

California Institute of Technology




2131 Tutors

Carnegie Mellon University




982 Tutors

Columbia University





1256 Tutors

Dartmouth University





2113 Tutors

Emory University





2279 Tutors

Harvard University





599 Tutors

Massachusetts Institute of Technology



2319 Tutors

New York University





1645 Tutors

Notre Dam University





1911 Tutors

Oklahoma University





2122 Tutors

Pennsylvania State University





932 Tutors

Princeton University





1211 Tutors

Stanford University





983 Tutors

University of California





1282 Tutors

Oxford University





123 Tutors

Yale University





2325 Tutors