博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最通俗易懂的快速排序算法详解
阅读量:5264 次
发布时间:2019-06-14

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

文章转载于:http://blog.csdn.net/vayne_xiao/article/details/53508973

如果以上C代码看不懂,请看下面java代码:

public static int Partition(int[] a, int p, int r) {		int x = a[r - 1];		int i = p - 1;		int temp;		for (int j = p; j <= r - 1; j++) {			if (a[j - 1] <= x) {				// 交换(a[j-1],a[i-1]);				i++;				temp = a[j - 1];				a[j - 1] = a[i - 1];				a[i - 1] = temp;			}		}		// 交换(a[r-1,a[i+1-1]);		temp = a[r - 1];		a[r - 1] = a[i + 1 - 1];		a[i + 1 - 1] = temp;		return i + 1;	}	public static void QuickSort(int[] a,int p,int r){		if(p < r) {			int q = Partition(a, p, r);			QuickSort(a, p, q-1);			QuickSort(a, q + 1, r);		}	}	// main方法中将数组传入排序方法中处理,之后打印新的数组	public static void main(String[] stra) {		int[] a = { 7, 10, 3, 5, 4, 6, 2, 8, 1, 9 };		QuickSort(a, 1, 10);		for (int i = 0; i < a.length; i++)			System.out.print(a[i]+" ");	}

   

转载于:https://www.cnblogs.com/KuJo/p/8544775.html

你可能感兴趣的文章
Android TextView drawableLeft 在代码中实现
查看>>
函数定义从零开始学C++之从C到C++(一):const与#define、结构体对齐、函数重载name mangling、new/delete 等...
查看>>
字段方法“轻松”实现一次查询多表
查看>>
生成编辑UBIFS 创建记录
查看>>
程序启动冲出UAC-解决Win UAC问题的编程经验
查看>>
nullnullhow to read directory name using std c in the linux
查看>>
测试SQLServer拆分字符串到临时表
查看>>
安装版本Visual Studio打包(Windows Installer),你不知道的RemovePreviousVersions 属性
查看>>
【C语言】溢出的处理及大小端模式的判断
查看>>
JsonPath:从多层嵌套Json中解析所需要的值
查看>>
软件设计要素初探:基础设计模式概览
查看>>
Intellij IDEA 最新旗舰版注册激活破解(2018亲测,可用)
查看>>
12010 解密QQ号(队列)
查看>>
javascript performence
查看>>
[转载]背包问题九讲(九)
查看>>
【端口占用】系统占用80端口解决
查看>>
JS作业及代码
查看>>
Tsung压力测试工具安装使用
查看>>
linux操作系统基础篇(六)
查看>>
关于前端框架讨论的链接
查看>>