博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
剑指offer 高速排序
阅读量:6901 次
发布时间:2019-06-27

本文共 1111 字,大约阅读时间需要 3 分钟。

高速排序一般的写法。教科书上非常具体,这里介绍作者的写法。

程序例如以下:

#include
#include
using namespace std;void swap(int *value1, int *value2){ int temp = *value1; *value1 = *value2; *value2 = temp;}int partition(int data[],int length,int start,int end){ if (NULL == data || length <= 0 || start < 0 || end >= length) throw exception("Invalid Data!"); int small = start - 1; for (int index = start; index < end; index++) { if (data[index] <= data[end]) { small++; if (small != index) swap(&data[index],&data[small]); } } small++; swap(&data[small],&data[end]); return small;}void QuickSort(int data[], int length, int start, int end){ if (start == end) return; int index = partition(data,length,start,end); if (start < index) QuickSort(data, length, start, index-1); if (index < end) QuickSort(data, length, index+1, end);}int main(){ int data[] = {
5,7,2,4,9,3,8,4,1}; QuickSort(data,9,0,8); for (int i = 0; i < 9; i++) { cout << i << " "; } return 0;}

转载地址:http://cfpdl.baihongyu.com/

你可能感兴趣的文章
String,int,Integer,char 类型转换
查看>>
[LeetCode] Permutations II 解题报告
查看>>
20921进程的描述与控制
查看>>
int 和 Integer 有什么区别
查看>>
english单词笔记 001
查看>>
CPU和GPU的区别
查看>>
linux 打包 | autoconf 使用方法
查看>>
linux 上zookeeper安装
查看>>
JSON简介及Java对JSON的解析
查看>>
Candy
查看>>
CentOS 6.4 搭建 ntop 网络流量监控分析平台
查看>>
暑期第一弹<搜索> B - Dungeon Master(三维BFS,6个状态)
查看>>
codeforces Problem-518D:Ilya and Escalator(概率dp)
查看>>
flask—信号(blinker)
查看>>
[LeetCode] NO. 66 Plus One
查看>>
基于jwt和角色的访问控制解决方案
查看>>
C# 测试 SQL SERVER 是否能正常连接【转】
查看>>
GDI资源使用上需要注意的一点
查看>>
也来说说C/C++里的volatile关键字
查看>>
java Sokcet编程(四)--对Socket的认识
查看>>