package practice.com.wzy.order;
/**
* 有序链表
*
*/
public class OrderLinkedList {
private Node head;
private class Node {
private int data;
private Node next;
public Node(int data) {
this.data = data;
}
}
public OrderLinkedList() {
head = null;
}
//插入节点,并按照从小到大的顺序排列
public void insert(int data) {
Node node = new Node(data);
Node pre = null;
Node current = head;
while(current != null && data > current.data) {
pre = current;
current = current.next;
}
if(pre == null) {
head = node;
head.next = current;
}else {
pre.next = node;
node.next = current;
}
}
//删除头部节点
public void deleteHead() {
if(head == null) {
return;
}
head = head.next;
}
//显示节点信息
public void display() {
Node current = head;
while(current != null) {
System.out.print(current.data+" ");
current = current.next;
}
System.out.println();
}
}
测试:
public class TestOrderLinkedList {
@Test
public void testOrderLinkedList() {
OrderLinkedList link = new OrderLinkedList();
link.insert(9);
link.insert(5);
link.insert(7);
link.insert(0);
link.insert(3);
link.insert(10);
link.display();
link.deleteHead();
link.display();
}
}
结果:
0 3 5 7 9 10
3 5 7 9 10
相关推荐
总之,Java有序非循环双向链表是数据结构和算法学习中的重要内容,它在实际应用中广泛用于高效地管理动态数据集合,如缓存、队列、优先队列等。理解其工作原理并能熟练运用,对于提升Java编程能力至关重要。
CSS3实现的漂亮动感有序列表特效.CSS3实现的漂亮动感有序列表特效.
此篇文章是学习Java中的集合时自己总结的笔记,主要记录了集合的底层原理、List、Set、Queue等集合的特点、集合的实现类的特点以及各个实现类底层是原理。
该资源提供了在Java中如何查找有序矩阵的全面指南。文档中涵盖了有序矩阵查找的基本概念,包括如何在有序矩阵中查找元素以及如何在Java中实现有序矩阵查找。此外,文档还包括一个逐步指南,介绍了如何在Java中实现...
在Java中,有两种常用的有序集合:LinkedHashMap和TreeMap。LinkedHashMap是HashMap的子类,它保留了元素的插入顺序,意味着它可以按照元素插入的顺序来访问元素。TreeMap则是按照元素的自然顺序或自定义的比较器来...
对于在线列表,我们最常使用的接口是`List`,因为它支持有序的元素序列,并允许重复元素。 1. **ArrayList**: 这是`List`接口的一个实现,基于数组实现。ArrayList提供快速的随机访问,因为其底层是数组,可以通过...
该资源提供了在Java中如何合并有序数组的全面指南。文档中涵盖了有序数组合并的基本概念,包括如何将两个有序数组合并为一个,以及如何在Java中实现合并有序数组。此外,文档还包括一个逐步指南,介绍了如何在Java中...
有序链表合并算法是计算机科学中的一个重要概念,特别是在数据结构和算法分析中。这个算法的主要目的是将两个或多个已排序的链表合并成一个单一的、有序的链表。在本毕业设计中,该算法被动态地演示,使得学生能够更...
- 列表是一种有序的数据结构,允许重复元素,并且可以在任何位置进行插入和删除操作。 - Java中的`java.util.List`接口提供了多种实现,如`ArrayList`(基于数组实现,快速访问,慢速插入/删除)和`LinkedList`...
Java实现向有序数组中插入一个元素实例 Java是一种流行的编程语言,在实际开发中经常需要对数组进行操作,而在有序数组中插入一个元素实例则是其中一个重要的操作。本文主要介绍了Java实现向有序数组中插入一个元素...
批量生成有序数据程序java版本
在这个实战项目中,我们将深入探讨Redis有序集合类型(SortedSet)的常用命令,并通过Java实现商品管理功能,包括增删改查和分类查找,以及根据浏览量进行排序。 首先,我们来了解下Redis有序集合的基础知识。有序...
单链表的插入,删除,排序!集合的并、交和差运算 编制一个能演示执行集合的并、交和差...vc mfc编的 集合运算 交并补差 包含...采用有序单链表表示集合
如果需要在有序列表中执行大量插入操作,考虑使用支持高效插入操作的数据结构,如链表,可以提高整体性能。 此外,对于大规模数据处理和动态维护有序序列的场景,Java 中的 TreeMap 或 TreeSet 数据结构也是一个...
在Java编程中,生成有序账号是一项常见的需求,特别是在系统用户管理或者资源分配中。有序账号通常指的是具有特定格式,能够按顺序编号的账号。这里,我们将深入探讨如何使用Java实现这个功能,以及在这个过程中涉及...
- `TreeMap` 基于红黑树数据结构,保持了键的有序性,可以按自然顺序或自定义比较器进行排序。 4. `java.util.HashSet` 和 `java.util.TreeSet`: - `HashSet` 是基于哈希表的无序集合,不允许有重复元素,不保证...
Java的异常处理机制保证了程序在遇到错误时能有序地处理,而Java Foundation Classes(JFC)提供了丰富的系统级服务,如集合框架、反射和国际化支持。 Java的发展历程中,从早期的Oak语言,经过Java 1.2、1.3、1.4...
对于有序列表,我们可以设置列表样式为数字、字母等: ```java PdfList orderedList = new PdfList(ListStyle.NUMBER); orderedList.getItems().add("列表项1"); // 添加更多列表项 ``` 5. 对于无序列表,列表样式...
在Java中,List接口代表了一种有序的集合,可以按索引访问元素。通常,我们可能会使用ArrayList或LinkedList来实现敏感词列表,以便快速查找和遍历。 `Main.java`:这是程序的主入口点,通常包含了程序的启动逻辑。...