//============================================================================// Name : QuickSort.cpp// Author : Danny// Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//============================================================================
#include <iostream>using namespace std;
void swap(int a[], int i, int j) { int temp = a[i]; a[i] = a[j]; a[j] = temp;}
int position(int a[], int left, int right) { int pivot = left; int i = left; int j = right; while (i < j) {
while (i < j && a[j] >= a[pivot]) { j--; }
if (i < j && a[j] < a[pivot]) { swap(a, pivot, j); pivot = j; }
while (i < j && a[i] <= a[pivot]) { i++; } if (i < j && a[i] > a[pivot]) { swap(a, pivot, i); pivot = i; }
} return pivot;}
void quickSort(int a[], int left, int right) { if (left >= right) return; int pos = position(a, left, right); quickSort(a, left, pos - 1); quickSort(a, pos + 1, right);
}
int main() { int a[8] = { 1,2,4,3,3,5,9,0}; quickSort(a, 0, 7); for (int i = 0; i < 8; i++) { cout << a[i] << endl; } return 0;}
Java实现代码:
package algorithm;
public class SortAlgorithm { void quickSort(int a[], int left, int right) { if (left >= right) return; int pos = position(a, left, right); quickSort(a, left, pos - 1); quickSort(a, pos + 1, right);
} void swap(int a[], int i, int j) { int temp = a[i]; a[i] = a[j]; a[j] = temp; }
int position(int a[], int left, int right) { int pivot = left; int i = left; int j = right; while (i < j) {
while (i < j && a[j] >= a[pivot]) { j--; }
if (i < j && a[j] < a[pivot]) { swap(a, pivot, j); pivot = j; }
while (i < j && a[i] <= a[pivot]) { i++; } if (i < j && a[i] > a[pivot]) { swap(a, pivot, i); pivot = i; }
} return pivot; }}
主方法类
package algorithm;
public class QuickSort {
public static SortAlgorithm sa; public static void main(String[] args) { // TODO Auto-generated method stub sa=new SortAlgorithm(); int[] a={4,2,1,6,3}; sa.quickSort(a, 0, 4); for(int i:a){ System.out.println(i); } } }
http://www.cnblogs.com/chen0958/p/4525289.html
转载于:https://www.cnblogs.com/zhouguoyan/p/4525713.html
相关资源:数据结构—成绩单生成器