栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

咕噜咕噜。。。(冒泡排序)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

咕噜咕噜。。。(冒泡排序)

还记得冒泡排序吗?每次比较相邻的两个值,如果前一个数比后一个数大,则交换他们的位置(注:如果两个数相等,则不交换)。
给你一个初始序列和整数k,你要用冒泡排序把序列从小到大排好,现在问你的是在冒泡排序过程中做完交换k次之后,得到的序列是什么?
(若再k次内便已经将序列排好序,则直接输出排好序的结果)

#include

using namespace std;

int main() {
	int arr[10000];
	int n, k,sum=0;//n表示数组长度,k表示交换次数,sum记录交换次数
	cin >> n >> k;
	for (int i = 0; i < n;i++) {
		cin >> arr[i];
	}
	//冒泡排序,如果数组前面的数大于后面的数,交换位置,等于就不交换
	for (int i = 0; i < n-1;i++) {
		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;
				sum++;
			}
			if (k==sum) {
				for (int i = 0; i < n; i++) {
					cout << arr[i] << " ";
				}
				return 0;
			}
		}
	}
	return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/311535.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号