zoukankan      html  css  js  c++  java
  • 7-2 冒泡法排序 (20分)

    7-2 冒泡法排序 (20分)

    将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素。然后用同样的方法对前N−1个元素进行第二遍扫描。依此类推,最后只需处理两个元素,就完成了对N个数的排序。

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

    输入格式:
    输入在第1行中给出N和K(1≤K<N≤100),在第2行中给出N个待排序的整数,数字间以空格分隔。

    输出格式:
    在一行中输出冒泡排序法扫描完第K遍后的中间结果数列,数字间以空格分隔,但末尾不得有多余空格。

    输入样例:

    6 2
    2 3 5 1 6 4
    

    输出样例:

    2 1 3 4 5 6
    

    实验代码

    #include<stdio.h>
    int main()
    {
    	int N, K;
    	int num[100];
    	int t, count = 1;
    
    	scanf("%d%d", &N, &K);
    
    	for (int i = 0; i < N; i++)
    	{
    		scanf("%d", &num[i]);
    	}
    
    	for (int i = 0; i < K; i++)
    	{
    		for (int j = 0; j < N - 1; j++)
    		{
    			if (num[j] > num[j + 1])
    			{
    				t = num[j];
    				num[j] = num[j + 1];
    				num[j + 1] = t;
    			}			
    		}
    	}
    
    	for (int i = 0; i < N - 1; i++)
    	{
    		printf("%d ",num[i]);
    	}
        printf("%d",num[N-1]);
    	return 0;
    }
    
  • 相关阅读:
    多线程(一)
    Interface
    Abstract
    面向对象
    字符串比对(10分)
    快递费用计算(7分)
    练习7-8 方阵循环右移 (20分)
    习题4-11 兔子繁衍问题 (15分)
    一道题理解穷举/贪心/爬山/遗传/退火/蚁群算法
    华为暑期测试实习生面经(2020.06)
  • 原文地址:https://www.cnblogs.com/xirfly/p/12076991.html
Copyright © 2011-2022 走看看