#include<iostream>
using namespace std;
void bubbleSort(int arr[], int len) {
for (int i = 0; i < len - 1; i++)//注意数组下标从s[0]开始
{
for (int j = 0; j < len - 1 - i; j++)
{
if (arr[j] > arr[j + 1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
void quickSort(int arr[], int indexL, int indexR) {
if (indexL >= indexR) return;
int L = indexL - 1, R = indexR + 1;
int num = arr[indexL]; // 以这个数为标准,比这个数小的放在左边,比这个数大的放在右边
do {
do L++; while (arr[L] < num);
do R--; while (arr[R] > num);
if (L < R) {
/* 此时 arr[L] >= num,arr[R] <= num,不符合条件则交换*/
int temp = arr[L];
arr[L] = arr[R];
arr[R] = temp;
}
} while (L < R);
quickSort(arr, indexL, R);
quickSort(arr, R + 1, indexR);
}
int main() {
int arr[9] = { 3,5,7,1,2,9,6,4,8 };
cout << "sort before: " << endl;
for (int i = 0; i < 9; i++) cout << arr[i] << " ";
putchar('\n');
cout << "sort after" << endl;
// bubbleSort(arr, 9);
quickSort(arr, 0, 8);
for (int i = 0; i < 9; i++) cout << arr[i] << " ";
putchar('\n');
system("pause");
return 0;
}
冒泡排序 + 快排
于 2023-07-14 13:15:19 首次发布