1.选择排序
时间复杂度O(),空间复杂度O(1)
void selectionSort(vector<int>&arr) {
int n = arr.size();
for (int i = 0; i < n - 1; i++) {
int minIndex = i;
bool change = false;
for (int j = i+1; j < n ; j++) {
if (arr[minIndex] > arr[j]) {
minIndex = j;
change = true;
}
}
if (change) {
int temp;
temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
}
2.冒泡排序
时间复杂度O(), 空间复杂度O(1)
void BubbleSort(vector<int>&arr) {
int n = arr.size();
bool flag = true;
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
flag = false;
}
}
if (flag) {
break;
}
}
}
。。。。。。。
|