快排

xiaoxiao2021-02-28  84

快排的大致思想是:以一个数为枢轴,比它大的放到右边,比它小的放到左边。

# include <iostream> using namespace std; void QuickSort(int arr[],int low,int high){ if(low >= high)//此时只有一个数,不需要排序 return; int first = low; int last = high; int key = arr[first];//以第一个数为枢轴 while(first < last){ while(first < last && key <= arr[last]){ --last; } arr[first] = arr[last]; while(first < last && key >= arr[first]){ ++first; } arr[last] = arr[first]; } arr[first] = key; QuickSort(arr,low,first-1); QuickSort(arr,first+1,high); } void Print(int arr[],int n){ for(int i = 0 ; i < n ; i++) cout << arr[i] << endl; } int main(){ int arr[10] = {12,4,6,89,56,8,100,543,78,45}; QuickSort(arr,0,9); Print(arr,10); return 0; }
转载请注明原文地址: https://www.6miu.com/read-42948.html

最新回复(0)