- 分享
排序
- @ 2026-3-14 15:16:06
排序
冒泡排序
#include <iostream>
#include <iomanip> // 用于控制输出格式
using namespace std;
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
bool swapped = false;
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
swap(arr[j], arr[j + 1]);
swapped = true;
}
}
if (!swapped) break; // 如果没有交换,提前结束
}
}
int main() {
const int N = 10;
int arr[N];
// 输入10个整数
for (int i = 0; i < N; i++) {
cin >> arr[i];
}
// 冒泡排序
bubbleSort(arr, N);
// 输出结果,每个数占5列
for (int i = 0; i < N; i++) {
cout << setw(5) << arr[i];
}
return 0;
}
选择排序
#include <iostream>
using namespace std;
void selectionSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
int minIndex = i; // 假设当前未排序部分的第一个元素是最小的
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j; // 更新最小元素的索引
}
}
// 将最小元素交换到未排序部分的起始位置
swap(arr[i], arr[minIndex]);
}
}
int main() {
const int N = 10;
int a[N];
// 输入10个整数
for (int i = 0; i < N; i++) {
cin >> a[i];
}
// 选择排序
selectionSort(a, N);
// 输出排序后的结果,每个数后跟一个空格
for (int i = 0; i < N; i++) {
cout << a[i];
if (i < N - 1) cout << " "; // 最后一个数后不加空格
}
return 0;
}
0 条评论
目前还没有评论...