向有序的环形单链表中插入新节点
来源:互联网 发布:大学生艾滋病数据 编辑:程序博客网 时间:2024/06/05 08:21
//向有序的环形单链表中插入新节点public class InsertNode{ //单链表节点的定义 public static class Node{ public int value; public Node next; public Node(int data) { this.value=data; } } //向有序的环形单链表中插入新节点 public static Node insertNode(Node head,int num) { if(head==null) { return new Node(num); } //(1)开头节点插入新节点,并且构成环形链表 if(head.value>num) { Node node=new Node(num); node.next=head; Node p=head; //记录先前的头结点 while(head.next!=p) { head=head.next; } head.next=node; //最后一个节点指向新插入的头节点 return node; } //(2)中间插入 Node p=head.next; Node pre=head; //记录遍历当前节点的前一个节点 while(p!=head) { if(p.value<num) { pre=p; p=p.next; }else { //添加节点,直接返回新的链表 Node node=new Node(num); pre.next=node; node.next=p; return head; } } //(3)最后一个节点插入新节点,并且构成环形链表 if(pre.value<=num) { Node node=new Node(num); pre.next=node; node.next=head; } return head; } //打印链表的内容 public static void PrintList(Node head) { if(head==null) { return ; } Node p=head; while(head.next!=null&&head.next!=p) { System.out.print(head.value+" "); head=head.next; } System.out.print(head.value+" "); System.out.println(); } public static void main(String[]args) { //System.out.print("Hello"); //构建环形链表 /** Node node=new Node(2);node.next=new Node(3);node.next.next=new Node(4);node.next.next.next=node;*///(1)链表为null/*Node node=null; PrintList(node); Node mode=insertNode(node,5); PrintList(mode); */ //(2)链表开头插入 Node node=new Node(2);node.next=new Node(4);node.next.next=node;PrintList(node); Node mode=insertNode(node,1); PrintList(mode); }}
阅读全文
0 0
- 向有序的环形单链表中插入新节点
- 链表问题---向有环的环形链表中插入新节点
- 环形链表中插入新节点
- 环形有序链表插入节点
- 向有序循环单向链表中插入节点
- 实现一个 链表 有序插入新节点
- 有序单链表节点的插入
- 向单链表中插入、删除节点
- 把一个新数插入到一个有序的单链表中
- 向XML插入节点
- 数据结构与算法分析笔记与总结(java实现)--链表9:有序环形链表中插入新结点问题
- Google Mock Interview:有序的循环列表插入节点
- 将节点插入到建立起来的有序链表中
- 向头指针为 L的有序单链表(从小到大有序)中插入一个结点,使插入后链表仍然有序
- 无头单链表节点的删除以及新节点之前的插入
- 有序链表插入新结点的改进
- 【C与指针】有序单链表插入节点
- 向CDH5集群中添加新的主机节点
- 表单那些事——ios浏览器表单上<input type="submit" />不一致的解决方法
- 九章算法 第一节 Algorithm Interview & Coding Style
- DataGridView显示Excel表格
- 容器map与set的增删查改
- jQuery控制table进行添加和删除
- 向有序的环形单链表中插入新节点
- OpenStack之Horizon源码架构浅析(二)之启动流程分析(简约版)
- 『 Spark 』10. spark 机器学习
- 微信公号“架构师之路”学习笔记(一)-无限容量数据库架构设计(数据库分组、分片架构等)
- 针对匿名用户ftp服务的一些设定
- install pip3 for python 3.x,在python上安装pip3
- FormData和serialize表单序列化
- 【Ionic】ion-datetime设置初始时间为当前时间及知识点总结;
- 顺序表