快速排序
来源:互联网 发布:怎样使用趣味编程软件 编辑:程序博客网 时间:2024/05/03 00:13
快速排序(Quicksort)是对冒泡排序的一种改进。
快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
#include<iostream>using namespace std;void Quicksort(int a[], int, int);int main(){int array[] = { 3,46,78,32,4,12,98,45,31,72 };int k;int length = sizeof(array) / sizeof(int);cout << "The original array is:" << endl;for (k = 0; k < length; k++)cout << array[k] << ",";cout << endl;Quicksort(array, 0, length - 1);cout << "The sorted array is:" << endl;for (k = 0; k < length; k++)cout << array[k] << ",";cout << endl;system("pause");return 0;}void Quicksort(int a[], int left, int right){if (left < right){int i = left, j = right, k = a[left];while (i < j){while (i < j&&a[j] >= k) //自右向左找第一个小于k的数j--;if (i < j)a[i++] = a[j]; while (i < j&&a[i] < k) //自左向右找第一个大于等于k的数i++;if (i < j)a[j--] = a[i];}a[i] = k;Quicksort(a, left, i - 1);Quicksort(a, i + 1, right); //递归调用Quicksort}}
0 0
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- RMI通讯
- J2EE开发技术点1:Tomcat中开发项目
- SOUI中自定义窗口不能适应图片大小问题解决
- [ git ] eclipse如何与git 配合工作。
- hdu1213 How Many Tables
- 快速排序
- C++自学历程——启程篇
- swift 快速奔跑的兔几 本节的内容是:基于文档的应用程序
- 南大软院大神养成计划--day11
- leetcode_Word Pattern
- C++中模板类声明和实现能否分离?
- hdoj2068RPG的错排【错排公式+组合数】
- Servlet生成JSP页面验证码
- jpa操作方法介绍