单向链表排序java(单向链表快速排序)

单向链表排序java(单向链表快速排序)Java 链表 一 单向链表的基本介绍 二 单向链表基础功能的实现 1 创建头结点 初始化头结点 2 向链表中插入数据 3 计算链表的长度 3 删除重复节点 4 删除指定值的节点 5 打印链表 6 链表反转 7 查找单链表的中间节点 8 查找倒数第 k 个元素 9 对链表进行排序 链表功能引用 数组和链表都是最基础的线性数据结构 可以用来实现栈 队列等非线性 有特定应用场景的数据结构

大家好,我是讯享网,很高兴认识大家。



Java链表

  • 一、单向链表的基本介绍
  • 二、单向链表基础功能的实现
  • 1.创建头结点
  • 初始化头结点
  • 2.向链表中插入数据
  • 3.计算链表的长度
  • 3.删除重复节点
  • 4.删除指定值的节点
  • 5.打印链表
  • 6.链表反转
  • 7.查找单链表的中间节点
  • 8.查找倒数第k个元素
  • 9.对链表进行排序
  • 链表功能引用

数组和链表都是最基础的线性数据结构,可以用来实现栈,队列等非线性,有特定应用场景的数据结构,我们发现数组作为数据存储结构有很很多缺陷,在无序数组中搜索效率低,在有序数组中插入效率又很低,无论哪种情况删除操作效率都很低;而且数组一旦创建,大小不可更改。


讯享网

  • 相邻元素之间通过指针链接
  • 最后一个元素的后继指针为NULL
  • 在程序执行过程中,链表的长度可以增加或缩小
  • 链表的空间能够按需分配
  • 没有内存空间的浪费
    如下图所示,在数据结构中,a1里面的指针存储着a2的地址,这样一个链接一个,就形成了链表。

    下图描述了单向链表存储情况。存储是分散的,每一个节点只要记录下一节点,就把所有数据串了起来,形成了一个单向链表。

    节点(Node)是由一个需要储存的对象及对下一个节点的引用组成的。也就是说,节点拥有两个成员:储存的对象、对下一个节点的引用。下面图是具体的说明:

    链表的优点:



















  • 插入和删除时不需移动其他元素, 只需改变指针,效率高。
  • 链表各个节点在内存中空间不要求连续,空间利用率高。
  • 大小没有固定,拓展很灵活。
    链表的缺点

  • 查找数据时效率低,因为不具有随机访问性。

采用两个指针P1,P2,P1先前移K步,然后P1、P2同时移动,当p1移动到尾部时,P2所指位置的元素即倒数第k个元素 。

在主函数中引用

小讯
上一篇 2025-05-10 16:54
下一篇 2025-05-22 08:42

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/137379.html