交换排序算法(冒泡排序,快速排序)

    科技2026-01-31  5

    //快速排序(分治) int partition(int left,int right,int data[]){ int pivot = data[left]; while (left<right) { while (left<right && data[right]>=pivot) { right--; } data[left] = data[right]; while (left<right && data[left]<=pivot) { ++left; } data[right] = data[left]; } data[left] = pivot; return left; } //根据轴进行划分两个子序列 void Qsort(int left, int right, int* data){ if (left<right) { int priot = partition(left,right,data); Qsort(left, priot-1, data); Qsort(priot+1, right, data); } } ///冒泡排序 void BubbleSort(int data[],int num){ for (int i = 0; i < num; i++) { int flag = false; for (int j = 0; j< num - i - 1; j++) { if (data[j] > data[j+1]) { int temp = data[j]; data[j] = data[j+1]; data[j+1] = temp; flag = true; } } if (!flag) { return; } } }
    Processed: 0.020, SQL: 10