Advertisement

7-2冒泡排序(30分)

阅读量:

对N个整数进行从小到大排序的冒泡排序方法,其运作方式如下:依次比较序列中相邻的两个元素,若前一个数值大于后一个数值,则交换二者的位置。完成一次完整扫描后,序列末尾的元素将确定为当前所有元素中的最大值。随后,采用相同的方式对前N−1个元素执行第二次扫描。以此类推,直至仅需处理两个元素时,整个排序过程即告完成。

本题要求针对任意给定的K(<N),输出在完成第K次扫描后的中间序列结果。

输入格式:

在第一行输入中提供N和K的值(满足1≤K<N≤100),第二行则输入N个需要进行排序的整数,各数字之间通过空格进行分隔。

输出格式:

在单行中展示冒泡排序算法完成第K次扫描后的中间序列,各数值之间使用空格进行分隔,且最后不应出现额外的空格。

输入样例解析

复制代码
    6 2
    2 3 5 1 6 4
    
    

输出样例:

复制代码
    2 1 3 4 5 6
    
    

解题思路分析

对N个整数实施从小到大的冒泡排序过程,其核心在于依次比较相邻元素,当发现前一数值大于后一数值时,即进行位置调换,因此需要借助循环结构来实现。在此过程中,我直接调用了swap函数来完成交换操作。由于在完成一次完整遍历后,最后一个元素必然为当前序列中的最大值,因此下一轮遍历无需再包含该元素。为此,我采用len变

全部评论 (0)

还没有任何评论哟~