Czy na pierwszy element pokazywać wskaźnikiem, który ma za zadanie tylko wskazywać właśnie pierwszy element. Czy od razu pierwszy element tworzyć na podstawie struktury listy jednokierunkowej?
Bo ma to znaczenie potem w usuwaniu pierwszego elementu listy.
Jeśli mam taką implementację listy:
#include <iostream>
#include <fstream>
using namespace std;
struct node
{
int data;
node *next;
};
int main()
{
node *n = new node;
node *tmp;
node *h;
n = new node;
tmp = n;
h = n;
n->data = 1;
n = new node;
n -> data = 2;
tmp -> next = n;
n = new node;
n -> data = 3;
tmp = tmp->next;
tmp->next = n;
n = new node;
n -> data = 4;
tmp = tmp -> next;
tmp -> next = n;
n = new node;
n -> data = 5;
tmp = tmp ->next;
tmp -> next = n;
n = new node;
n -> data = 6;
tmp = tmp -> next;
n -> next = NULL;
node *n = new node;
node *tmp;
node *h;
return 0;
}
I chciałbym usunąć pierwszy element to jest problem, bo bym musiał usunąć wskaźnik h i nie miałbym wskaźnika na pierwszy element.