刷题——快速排序
【全网最清晰快速排序,看完快排思想和代码全部通透,不通透你打我!-哔哩哔哩】 https://b23.tv/8GxEKIk
代码详解如上
#include <iostream>
using namespace std;int getPort(int* a, int low, int high)
{int port = a[low];while(low < high){while(low<high && port <= a[high]){high--;}a[low] = a[high];while(low<high && port >= a[low]){low++;}a[high] = a[low];}a[low] =port;return low;
}void quickSort(int *a, int low, int high)
{if(low < high){int port = getPort(a, low, high);quickSort(a, low, port-1);quickSort(a, port+1, high);}
}int main()
{int arr[] = {56, 60, 70, 90, 80, 10, 20, 40};int len = sizeof(arr)/sizeof(arr[0]);quickSort(arr, 0, len-1);for(int i =0; i<len; i++){printf("%d ", arr[i]);}return 0;
}