选择排序
选择排序是一种简单的排序算法,其核心思想是:(以升序为例)反复从待排序序列中选出最大元素,放到已排序序列的末尾。通过 n-1 轮上述的选择完成排序(n为元素个数)。
代码展示:
#include
using namespace std;
int main() {
int n;
cin >> n;
int arr[100];
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
// 选择排序核心逻辑
for (int i = 0; i < n - 1; i++) { // 外层循环控制轮数,共n-1轮
int minIndex = i; // 假设当前i位置是最小值的下标
for (int j = i + 1; j < n; j++) { // 内层循环找最小值的下标
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
// 交换当前i位置和最小值位置的元素
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
// 输出排序后的序列
for (int i = 0; i < n; i++) {
if (i > 0) cout << " ";
cout << arr[i];
}
cout << endl;
return 0;
}
代码展示:
#include
using namespace std;
int main() {
int n;
cin >> n;
int arr[100];
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
// 选择排序核心逻辑
for (int i = 0; i < n - 1; i++) { // 外层循环控制轮数,共n-1轮
int minIndex = i; // 假设当前i位置是最小值的下标
for (int j = i + 1; j < n; j++) { // 内层循环找最小值的下标
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
// 交换当前i位置和最小值位置的元素
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
// 输出排序后的序列
for (int i = 0; i < n; i++) {
if (i > 0) cout << " ";
cout << arr[i];
}
cout << endl;
return 0;
}
全部评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
11-11 15:27
湖北工业大学 Java 点赞 评论 收藏
分享
