Implement the function below void swap(int pos1, int pos2) {}
Implement the function below
void swap(int pos1, int pos2) {}
- For LinkedList, to maintain integrity of data in the structure, you are not to swap directly the element, nor remove a node. Instead, you are to only change the nodes' next pointers.
Inital code to be completed:
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;
}
public:
LinkedList() {
index = 0;
head = NULL;
tail = NULL;
}
int add(int num) {
addTail(num);
return index;
}
int get(int pos) {
node* currnode = head;
int count =0;
while (currnode != NULL){
count++;
if (count == pos){
return currnode -> element;
}else{
currnode = currnode -> next;
}
}
return -1;
}
int size() {
return index;
}
void swap(int pos1, int pos2) {
}
// WARNING! Do not modify this method below!
// Doing so will nullify your score for this activity.
void print() {
node* currnode = head;
if (head == NULL && tail == NULL) {
cout << "(empty)";
return;
}
while (true) {
cout << currnode->element;
if (currnode == tail) {
cout << endl;
return;
}
cout << " -> ";
currnode = currnode->next;
}
}
};
Step by step
Solved in 2 steps