I'm trying to make linked list similar too the one here:
That is to have the "head", I called it first, inside another struct. However I found doing that change. Makes it hard to add values to the list_item struct. I have tried some few things to see if it works. It compiles, however when I run the code it will crash. Any help would be helpful here. I know the cause of the crash is when I want to point the new_node to the linked_list.
#include <iostream> using namespace std; struct list_item { int key; int value; list_item *next; }; struct list { struct list_item *first; }; int main() { list *head; list *new_node; head = NULL; head->first = NULL; for(int i = 0; i < 10; i++) { //allocate memory for new_node new_node = (list*)malloc(sizeof(list)); new_node->first = (list_item*)malloc(sizeof(list_item)); //adding the values new_node->first->key = i; new_node->first->value = 10 + i; //point new_node to first; new_node->first->next = head->first; //point first to new_node; head->first = new_node->first; } //print list *travel; travel->first = head->first; int i = 0; while(travel != NULL) { cout << travel->first->value << endl; travel->first = travel->first->next; } return 0; }