快速排序

    xiaoxiao2021-03-25  123

    #include <iostream> using namespace std; int partition(int a[],int left,int right){ int pivot = a[left]; while (left < right){ while(pivot <= a[right] && left < right) right --; a[left] = a[right]; while (a[left] <= pivot && left < right) left ++; a[right] = a[left]; } a[left] = pivot; return left; } void QuickSort(int a[],int left,int right){ if(left < right){ int pivot = partition(a,left,right); QuickSort(a,left,pivot - 1); QuickSort(a,pivot + 1,right); } } int main() { int a[] = {4,8,5,1,9,5,4,7,8}; QuickSort(a,0,8); for(int i = 0;i < 9;i ++) cout << a[i] << " "; return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-5166.html

    最新回复(0)