单链表结构:

typedef int ElemType;
typedef struct ListNode* List;struct ListNode
{ElemType keyList     next;
};

实现代码如下:

void QuickSort( List head, List tail )
{if ( head->next == tail || head->next->next == tail )return;List mid = head->next;List p = head;List q = mid;ElemType pivot = mid->key;List t = mid->next;while ( t != tail ){if ( t->key < pivot )p = p->next = t;elseq = q->next = t;t = t->next;}p->next = mid;q->next = tail;QuickSort( head, mid );QuickSort( mid, tail );
}

调用时参数head为(带头节点的)单链表头节点指针,tail为单链表尾节点的next指针指向的类容。通常情况下tail的内容为NULL,因此,调用时为QuickSort(head, NULL)。

单链表快速排序算法实现相关推荐

  1. python单链表实现具体例子_Python实现数据结构线性链表(单链表)算法示例

    本文实例讲述了Python实现数据结构线性链表(单链表)算法.分享给大家供大家参考,具体如下: 初学python,拿数据结构中的线性链表存储结构练练手,理论比较简单,直接上代码. #!/usr/bin ...

  2. 线性表之链式存储结构_单链表相关算法

    在存储结构上,不需要连续的存储空间,需要上一个结点的指针域 指向下一个结点即可,找到一个结点就可以找到下一个结点. 学习教材是大话数据结构,加上自己的一些个人理解.这个算法 有点绕,需要对指针 相关内 ...

  3. 单链表的算法之尾部插入节点

    单链表的算法之插入节点 1.访问链表中各个自己的指针 (1)只能用头指针,不能用各个节点自己的指针.因为实际中我们保存链表不会保存各个节点的指针,只能通过头指针来访问链表节点. (2)前一个节点内部的 ...

  4. 尾插法建立单链表的算法

    尾插法建立单链表的算法 实现代码: #include <iostream> #include <stdlib.h> using namespace std; #define m ...

  5. 排序算法——单链表快速排序(划分函数从一边划分)

    我们知道了普通的快速排序利用的划分函数是从两边向中间划分,但是对于单链表,这种划分函数可就显得不这么适用了.原因在于单链表每个节点只存在存放后一个结点的指针域,找到后一个节点容易,但是想要找到前一个结 ...

  6. python实现单链表快速排序升序linkedqueue_数据结构回顾

    顺序结构 顺序栈(Sequence Stack) 1 2 3 4 5 6typedef struct { ElemType *elem; int top; int size; int incremen ...

  7. python实现单链表快速排序升序linkedqueue_同时对多个数组进行排序

    关于 同时对多个数组进行排序的搜索结果 回答 本人学习数据结构时看到的不错的总结,共享一下了 文件有一组记录组成,记录有若干数据项组成,唯一标识记录的数据项称关键字; 排序是将文件按关键字的递增(减) ...

  8. python实现单链表快速排序升序linkedqueue_数据结构1

    一. ( (本题 15 分)试设计一个结点数据类型为整型的带表头结点的有序单 链表,然后设计一个算法,该算法将这个有序单链表划分成两个单链表,使 得第一个单链表中包含原单链表中所有数值为奇数的结点, ...

  9. python实现单链表快速排序升序linkedqueue_LeetCode 总结 - 搞定 Linked List 面试题

    链表删除 [203] Remove Linked List Elements [19] Remove Nth Node From End of List [83] Remove Duplicates ...

最新文章

  1. MySQL federated 引擎跨服务器使用实例
  2. 企业级BI分析解决方案,解决数据应用难题
  3. 【算法学习笔记】19.算法设计初步 最大子列和问题的几种方法
  4. 日常经典用语、成语及谚语
  5. c语言gets与fgetc,区分C语言中getch、getche、fgetc、getc、getchar、fgets、gets 转
  6. 关于Content-Type: multipart/form-data的支持
  7. 【教程】javascript浏览器对象入门教程
  8. java之tomcat搭建文件服务器
  9. java实践体会,java实践心得体会范文3篇
  10. Android 使用Fragment,ViewPagerIndicator 制作csdn app主要框架
  11. 翻译任务中的BPE词表实践总结
  12. HP电脑的增霸卡功能操作详解
  13. 无需绿幕的全自动视频抠图工具|unscreen
  14. Windows10性能优化设置
  15. java分页及返回数据封装实例
  16. Sublime常用快捷键
  17. 线性表的链式存储结构(完整代码(C语言)+运行实例)
  18. 前端 psd切片生成html.css,1个将PSD网页模板切片输出为DIV+CSS架构网页教程
  19. 推理时 cnn bn 折叠;基于KWS项目
  20. 关于win10X64 连接oracle

热门文章

  1. 区块链 - Geth 搭建私有网络-实战
  2. 转:几款主流 NoSql 数据库的对比
  3. 颜色缩减(带Trackbar)【从毛星云Opencv3编程入门P75 P111例程改编】
  4. linux运维前景与运维人员最佳职业规划录像
  5. Halcon 摄像机标定流程
  6. iis日志转到sql存储
  7. sql优化之物理优化
  8. 查看linux服务器硬盘IO读写负载
  9. ubuntu重启+sublime快捷键
  10. MySQL存储过程的创建及调用