快速排序的原理就是使用某个中间值将数组切割成两部分,一部分比中间值都小,另一部分比中间值都大,这是一次排序的作用;分别对两部分进行同样的操作,直到只剩下一个数,这样最终的数组就变成了有序的。
以下是java实现:
package com.kdyzm.sort.quicksort; import java.util.Scanner; /** * 快速排序相关P272 * * @author kdyzm * */ public class QuickSortDemo { public static void main(String[] args) { int[] array = new int[1024]; Scanner sc = new Scanner(System.in); int total = sc.nextInt(); for (int i = 0; i < total; i++) { array[i] = sc.nextInt(); } quickSort(array, 0, total - 1); output(array, total); } private static void output(int[] array, int total) { for (int i = 0; i < total; i++) { System.out.print(array[i] + " "); } System.out.println(); } private static void quickSort(int[] array, int low, int high) { if (low < high) { int pivotLoc = OneQuickSort(array, low, high); quickSort(array, low, pivotLoc - 1); quickSort(array, pivotLoc + 1, high); } } /** * 一次快速排序,找出中间点出来 */ private static int OneQuickSort(int[] array, int low, int high) { int pivotKey = array[high]; while (low < high) { while (low < high && array[low] <= pivotKey) ++low; array[high] = array[low]; while (low < high && array[low] >= pivotKey) --high; array[low] = array[high]; } array[low] = pivotKey; return low; } }
输入N个数作为数组长度,然后输入N个无序的整数,回车即可查看排序结果。
相关推荐
c语言版本的数据结构的快速排序算法,适用于新手学习
数据结构--快速排序C++源代码,自己编写调试,代码简单易懂,不长
用c#代码实现快速排序 用c#代码实现快速排序 用c#代码实现快速排序 用c#代码实现快速排序
数据结构排序算法中的快速排序,是非常重要的一个算法,从时间上来看,是在随机情况下排大量数据的最优选择
严蔚敏版《数据结构》中的第八章中的 快速排序,有完整的程序
数据结构排序的一种。。。、
数据结构 严蔚敏 快速排序
(1) 冒泡排序和快速排序; (2) 插入排序和希尔排序; (3) 选择排序和堆排序; (4) 递归和非递归的归并排序。 2. 产生不同规模和分布的数据,以 Excel 生成算法执行时间 T(n)关于输入规模 n 的曲线的形式,...
数据结构课程设计实例快速排序 数据结构课程设计实例快速排序 数据结构课程设计实例快速排序 数据结构课程设计实例快速排序 数据结构课程设计实例快速排序 数据结构课程设计实例快速排序 数据结构课程设计实例快速...
数据结构 综合排序 冒泡排序 直接插入排序 快速排序 希尔排序,完整的代码,有每种排序时间的比较
南昌大学科学技术学院实验报告,《数据结构》课程设计是为训练学生的数据组织能力和提高程序设计能力而设置的增强实践能力的课程。目的:学习数据结构课程,旨在使学生学会分析研究数据对象的特性,学会数据的组织...
数据结构中关于排序的算法 上传的是快速排序的一些算法 这种算法效率高 但是最坏的时间最大
数据结构中的快速排序算法,用C语言实现的完整示例。
数据结构快速排序完整版,完整代码!C语言编写,简单易用
快速排序代码..在vc++6.0, vs编译运行通过
随机产生1000个0~9的数,并分别用堆排序,快速排序,归并排序将产生的这1000个随机数排序,并将排序结果写入文件
实现以下常用的内部排序算法并进行性能比较:"直接插入排序"," 折半插入排序"," 2—路插入排序"," 表插入排序"," 希尔排序"," 起泡排序"," 快速排序"," 简单选择排序"," 树形选择排序"," 堆排序"," 归并排序"," 链式...
数据结构内的快速排序实现 内含测试程序 ·············
归并排序,排序等算法,数据结构,快速排序,链表排序归并排序,排序等算法,数据结构,快速排序,链表排序
数据结构上机:题目: 排序 输人10个整数,分别用希尔排序、快速排序、直接选择排序和归并排序实现由小到大排序并输出排序结果。