I have made the following linklist. How can I create a loop
say for example if I want to set first->next->next=something;
then I want to set first->next->next->next=something;
I hope I am clear enough, what I need to do is replace ->next .. by a loop so if need 3 ->next I just run a for loop 3 times. I am doing it because I need to add a node at the nth position of my list; If the list already has some elements. For example the function addnth which I have tried to implement. The function is generic to add a node at the 2nd position from head. But I need it to be versatile enough to add at any location. However I am unable to do that because of difficulty in moving to first->next.....I even tried using pointer to pointer but was unable to do that.
_______________________________________
struct node
{
int x;
node *next;
void linklist::addnth(int d,int n)
{
node *current=first;
node *newNode= new node;
newNode->x = d;
if (n==1) { // special case, first
newNode->next = first;
first = newNode;
return;
}
for (int i=1;i<(n-1);i++) {
if (current->next) // this statement prevent outbound
current=current->next;
}
newNode->next = current->next;
current->next = newNode;
}