好的,所以我想在第n个位置(不是结束或开始)的C中单个链接列表中插入一个新节点,但我搜索后得到的是如何在一个开头或结尾插入新节点链表。任何帮助表示赞赏。 感谢。
答案 0 :(得分:0)
或许这样的事情。
void insert_at(list_node **list, list_node *new,int offset)
{
while(offset-- && (*list)->next )
list=&((*list)->next);
new->next=(*list)->next
(*list)->next=new;
}
答案 1 :(得分:0)
这将起作用:
void InsertNode(int position, int newdata)
{
struct Node* temp = (struct Node* )malloc(sizeof(struct Node* ));
temp->data=newdata;
struct Node* temp2=head;
if(position==1)
{
temp->next=temp2;
head=temp;
return ;
}
for(int i=1;i<position;i++)
{
temp2=temp2->next;
}
temp->next=temp2->next;
temp2->next=temp;
return;
}
答案 2 :(得分:-1)
我自己找到了解决方案。 这是我的算法 -
步骤1-给出一个链表,索引它。
步骤2-询问用户想要插入新节点的索引
步骤3-遍历链接列表,直到达到该索引
步骤4-在当前索引
之后创建一个指向节点的新节点步骤5-使用户输入的索引节点指向新节点
Voila,完成了!