当前位置:网站首页 > Java基础 > 正文

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



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个元素 。

在主函数中引用

到此这篇单向链表排序java(单向链表快速排序)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 字符串转int(java中字符串转int)2025-05-02 08:45:07
  • Java阻塞队列(java阻塞队列是线程安全的吗)2025-05-02 08:45:07
  • java爬虫和java后端相比(爬虫和java区别)2025-05-02 08:45:07
  • python爬虫和java爬虫性能比较(python爬虫和java爬虫哪个好)2025-05-02 08:45:07
  • pytorch模型部署到springbootweb(pytorch模型部署到java)2025-05-02 08:45:07
  • 专门学java的网站(学java的平台)2025-05-02 08:45:07
  • springweb和springwebmvc的关系(spring和javaweb)2025-05-02 08:45:07
  • java 面试题答案(java最新面试题答案解析)2025-05-02 08:45:07
  • java程序网站(java应用网站)2025-05-02 08:45:07
  • 华为java面经(华为java二面)2025-05-02 08:45:07
  • 全屏图片