Quick Sort Algorithm

it2022-05-09  25

//============================================================================// 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

相关资源:数据结构—成绩单生成器

最新回复(0)