刘梦迪113 level
获赞
1
粉丝
2
关注
3
看过 TA
8
哈尔滨理工大学
2029
IP属地:黑龙江
暂未填写个人简介
私信
关注
11-13 09:34
哈尔滨理工大学
0 点赞 评论 收藏
分享
11-13 09:31
哈尔滨理工大学
排序,是把一个无序序列调整为升序或降序序列。到目前为止,人们已经设计出很多种排序算法。冒泡排序(Bubble Sort)是一种简单的排序算法。它对给定序列从头至尾,依次对序列中相邻的元素进行两两比较,每次比较后,把不符合预期顺序的元素进行位置交换。我们将冒泡排序的过程梳理如下:较相邻元素:从序列的第一个元素开始,比较相邻的两个元素。交换位置:如果前一个元素比后一个元素大,则交换它们的位置。重复遍历:对序列中的每一对相邻元素重复上述步骤,直到序列的末尾。这样,最大的元素会被"冒泡"到序列的最后。缩小范围:忽略已经排序好的最后一个元素,重复上述步骤,直到整个序列排序完成。理解冒泡排序的要点:每一轮完成一个元素的排序(将剩余序列中的最大元素移到剩余序列的末尾),进行 n - 1 轮(假设序列长度为 n)后,完成排序。#includeusing 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;}
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务