一、简单选择排序
在简单选择排序中,每一次迭代都会找到未排序部分中的最小元素,并将其与当前位置的元素进行交换。通过多次迭代,逐步将最小元素放置到正确的位置上,从而完成排序。
代码实现
#include <iostream>
void selectionSort(int arr[], int size) {
for (int i = 0; i < size - 1; i++) {
int minIndex = i;
for (int j = i + 1; j < size; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
// Swap the minimum element with the first element of the unsorted portion
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
二、冒泡排序
在冒泡排序中,每一轮都会比较相邻的两个元素并进行交换,将较大的元素往后移动。重复执行这个过程,直到整个数组排序完成。
代码实现
#include <iostream>
void bubbleSort(int arr[], int size) {
for (int i = 0; i < size - 1; i++) {
// 在每一轮中,比较相邻的两个元素,并将较大的元素往后交换
for (int j = 0; j < size - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
// 交换两个元素的位置
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}