Hi again!
Ok, this is a version of my code with all other junk deleted.
Code:
#include <iostream>
#include <string.h>
#include <stdlib.h>
using namespace std;
#define ValueType int
struct vertex {
int data;
vertex * next;
vertex * prev;
};
void init_vertex(struct vertex * head, int n){
head->data = -1;
head->next = NULL;
head->prev = NULL;
}
void insert_front(struct vertex ** head, int n) {
vertex * new_vertex = new vertex;
(* head)->prev = new_vertex;
new_vertex->data = n;
new_vertex->next = *head;
*head = new_vertex;
}
/*
* delete_this(&head);
* */
void delete_this(struct vertex * node){
node->next->prev = node->next;
node->prev->next = node->prev;
// kill(head);
}
void display(struct vertex * head) {
vertex * list = head;
while(list) {
cout << list->data << " ";
list = list->next;
}
cout << "\nList end\n";
}
int main(){
// Init a linked list for uncoloured vertices.
struct vertex *newHead;
struct vertex *head = new vertex;
init_vertex(head,-1);
for(int i=1; i<3; ++i){
insert_front(&head,i); // store for colouring.
}
cout << "Test: " ;
display(head);
while(head) {
if(head->data > 0){
cout << "\nIndex in array: " << head->data << "";
// remove from list NOT WORKING
delete_this(head);
}
head = head->next;
}
}
Please feel free to shout out if anything is gnarly.