insert.h
来自「南京航空航天大学王珊珊出版的C++详细课后习题程序集和PPT课件.」· C头文件 代码 · 共 31 行
H
31 行
node *Insert(node *head, node *p)
{ // 把结点p插入到链表head中,使链表仍然保持升序
node *p1, *p2;
if(head==NULL) //如果插入前(原始链表)为空链表
{
head=p;
p->next=NULL;
return(head);
}
if( head->data >= p->data ) //插在链表首部
{
p->next = head;
head = p;
return(head);
}
p2=p1=head; // 插在链表中间或尾部
while( p2->next && (p2->data) < (p->data ) ) //查找待插入位置
{ p1=p2; p2 = p2->next; }
if( (p2->data) < (p->data) ) // 插在链表尾部
{
p2->next = p;
p->next = NULL;
}
else //插在链表中间, p2之前
{
p->next = p2;
p1->next = p;
}
return(head);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?