冒泡排序
排序,是把一个无序序列调整为升序或降序序列。到目前为止,人们已经设计出很多种排序算法。
冒泡排序(Bubble Sort)是一种简单的排序算法。它对给定序列从头至尾,依次对序列中相邻的元素进行两两比较,每次比较后,把不符合预期顺序的元素进行位置交换。
我们将冒泡排序的过程梳理如下:
较相邻元素:从序列的第一个元素开始,比较相邻的两个元素。
交换位置:如果前一个元素比后一个元素大,则交换它们的位置。
重复遍历:对序列中的每一对相邻元素重复上述步骤,直到序列的末尾。这样,最大的元素会被"冒泡"到序列的最后。
缩小范围:忽略已经排序好的最后一个元素,重复上述步骤,直到整个序列排序完成。
理解冒泡排序的要点:每一轮完成一个元素的排序(将剩余序列中的最大元素移到剩余序列的末尾),进行 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轮
for (int j = 0; j < n - 1 - i; j++) { // 内层循环比较相邻元素
if (arr[j] > arr[j + 1]) { // 前一个元素大于后一个,交换
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
// 输出排序后的序列
for (int i = 0; i < n; i++) {
if (i > 0) cout << " ";
cout << arr[i];
}
cout << endl;
return 0;
}
冒泡排序(Bubble Sort)是一种简单的排序算法。它对给定序列从头至尾,依次对序列中相邻的元素进行两两比较,每次比较后,把不符合预期顺序的元素进行位置交换。
我们将冒泡排序的过程梳理如下:
较相邻元素:从序列的第一个元素开始,比较相邻的两个元素。
交换位置:如果前一个元素比后一个元素大,则交换它们的位置。
重复遍历:对序列中的每一对相邻元素重复上述步骤,直到序列的末尾。这样,最大的元素会被"冒泡"到序列的最后。
缩小范围:忽略已经排序好的最后一个元素,重复上述步骤,直到整个序列排序完成。
理解冒泡排序的要点:每一轮完成一个元素的排序(将剩余序列中的最大元素移到剩余序列的末尾),进行 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轮
for (int j = 0; j < n - 1 - i; j++) { // 内层循环比较相邻元素
if (arr[j] > arr[j + 1]) { // 前一个元素大于后一个,交换
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
// 输出排序后的序列
for (int i = 0; i < n; i++) {
if (i > 0) cout << " ";
cout << arr[i];
}
cout << endl;
return 0;
}
全部评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
