Hello everyone,
if i have a linked list and i want to remove and item, what i should do is first locate the element that need to be removed, and then if it is located in the middle of the chain free it and point its previous to its next.
the question is about locating the element, but first take a look at the following llist data structure
struct node
{
int32 index;
int32 data;
struct node *next;
};
typedef struct
{
struct node *head;
int32 count;
}llist;
the node structure has a member called index, now the index member can be used to find elements in 2 ways, first by making the head index equal zero, and then keep incrementing it, or by using its memory address which is incremented by a constant offset equal tosize of(struct node).
so my question is as follows,
when i remove an element of the list, after re-pointing the previous node the new element, how to correct the index without looping to the end of the list.
Thanks in advance,
z3ngew