分治法——快速排序
Posted zengweihao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分治法——快速排序相关的知识,希望对你有一定的参考价值。
// test.cpp: 定义控制台应用程序的入口点。 // #include "stdafx.h" #include<iostream> using namespace std; void disp(int a[], int n) { for (int i = 0; i < n; i++) cout << a[i]; cout << endl; } int partition(int a[], int s, int t) {//划分算法 int i = s; int j = t; int temp = a[s]; while (i != j) { while (j > i&&a[j] >= temp) j--; a[i] = a[j]; while (i < j&&a[i] <= temp) i++; a[j] = a[i]; } a[i] = temp; return i; } void quickSort(int a[], int s, int t) {//递归求解子问题 int i; if (s < t) { i = partition(a, s, t); quickSort(a, s, i - 1); quickSort(a, i + 1, t); } } int main() { int n = 10; int a[] = { 2,5,1,7,10,6,9,4,3,8 }; quickSort(a, 0, n - 1); disp(a,n); return 0; }
以上是关于分治法——快速排序的主要内容,如果未能解决你的问题,请参考以下文章