链表插入
2016-07-15 11:06
141 查看
**有一个整数val,如何在节点值有序的环形链表中插入一个节点值为val的节点,并且保证这个环形单链表依然有序。
**
即从头节点遍历,到末节点中如果出现可以插入的位置即返回,若没有,这比较是插入到末节点之后再指向头节点,还是在头节点之前,即插入的为新的头节点
**
即从头节点遍历,到末节点中如果出现可以插入的位置即返回,若没有,这比较是插入到末节点之后再指向头节点,还是在头节点之前,即插入的为新的头节点
public class InsertValue { public static ListNode insert(int[] A, int[] nxt,int val) { // write code here ListNode head; if(A==null||A.length==0) { head=new ListNode(val); head.next=head; return head; } head=new ListNode(A[0]); ListNode r=head; ListNode p; for(int i=1;i<A.length;i++){ p=new ListNode(A[i]); if(val>=A[i-1]&&val<=A[i]) { ListNode node=new ListNode(val); r.next=node; node.next=p; r=p; }else{ r.next=p; r=p; } } if(val>r.val){ ListNode node=new ListNode(val); r.next=node; } if(val<r.val&&val<head.val){ ListNode node=new ListNode(val); node.next=head; head=node; } r.next=head; return head; } }
相关文章推荐
- [C/C++]反转链表
- C#实现基于链表的内存记事本实例
- C#模拟链表数据结构的实例解析
- C#实现单链表(线性表)完整实例
- C#定义并实现单链表实例解析
- C#数据结构之单链表(LinkList)实例详解
- C语言实现单链表逆序与逆序输出实例
- C语言实现带头结点的链表的创建、查找、插入、删除操作
- C++利用静态成员或类模板构建链表的方法讲解
- C++实现简单的学生管理系统
- C语言单链表常见操作汇总
- Linux内核链表实现过程
- C++链表倒序实现方法
- C#通过链表实现队列的方法
- Node.js环境下JavaScript实现单链表与双链表结构
- C#实现的简单链表类实例
- C数据结构之单链表详细示例分析
- 找出链表倒数第n个节点元素的二个方法
- Java数据结构之简单链表的定义与实现方法示例
- Java模拟有序链表数据结构的示例