在一个已排序的循环链表中插入节点
2017-05-12 14:40
267 查看
这个比较简单,直接上代码了
typedef struct ListNode{ int data; ListNode *next; }ListNode; void sortedInsertNode(ListNode *head,ListNode *newNode) { ListNode *cur=head;//把头结点设置为当前节点 //case 1: 该链表为空 if(cur==NULL) { newNode->next=newNode; head=newNode; } //case 2:将新加入的节点插入到头结点前面 else if(cur->data>=newNode->data) { while(cur->next!=head) { cur=cur->next; cur->next=newNode; newNode->next=head; head=newNode;//插入节点成了新的头结点 } } //case 3: 把新节点插入到某个结点的后面 else { if(cur->next!=head && cur->next->data<newNode->data) { cur=cur->next; newNode->next=cur->next; cur->next=newNode; } } }
相关文章推荐
- 向循环有序链表内插入一个节点
- 链表:检测是否有环,是否相交,删除节点,插入节点,打印节点,建立节点,节点排序,节点逆序,
- 创建一个链表、删除一个节点、插入一个节点--实验
- 用头插、尾插、按顺序插入创建一个不带头节点的链表,栈的基本操作
- 向有序循环单向链表中插入节点
- 单链表创建、测长度、打印、删除节点、插入节点、排序、逆置
- 双链表排序--可以在任意位置正确插入节点
- 判断链表是否为空、求链表长度、插入新节点、删除节点、链表排序
- 数据结构和算法设计专题之---单链表中在指定的节点前面插入以及删除一个节点
- 华为OJ 向升序单向链表中插入一个节点
- 编写算法实现建立一个带头结点的含n个元素的双向循环链表H,并在链表H中的第i个位置插入一个元素e
- 实现一个 链表 有序插入新节点
- 单向链表中,如何在给定节点前快速插入一个节点?
- 【剑指offer】链表相关-链表末尾插入一个节点
- [012]链表笔记--在链表中插入一个节点
- 在链表中某个节点前面插入一个节点
- 对一个存储学生信息的单向链表,按照学号升序对链表进行排序,每个节点包含了一个学生ID
- 设计一个整型链表类list,能够实现链表节点的插入、删除、以及链表数据的输出操作。
- 链表中插入一个节点的三种情况
- 单链表节点插入并进行排序