Java教程

Data7.21数列排序

本文主要是介绍Data7.21数列排序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

问题描述

  • 给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1 <= n <= 20000;

输入格式

  • 第一行为一个整数n;
  • 第二行包含n个整数,为待排序的数,每个整数的绝对值小于20000;

输出格式

  • 输出一行,按从小到大的顺序输出排序后的数列。

样例输入

5
8 3 6 4 9

样例输出

3 4 6 8 9

思路

  • 使用冒泡排序法;重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。
  • 如果数列进行到没有需要交换的值,则排列完成;
  • 比较两个数的大小,利用中间人来转换数值的位置;

代码

package data;
import java.util.Scanner;
public class Data721 {
//冒泡排序
    public static void  main(String[] args)
    {
        int n;
        Scanner cin = new Scanner(System.in);
        n = cin.nextInt();
        Integer[] f = new Integer[n+1];
        int i;
        for (i = 0; i < n; i++) {
            f[i] = cin.nextInt();
        }
         int k,j;
         for (i = 0;i<n;i++)
         {
             for(j= i+1;j<n;j++)
             {
                if(f[i]>f[j])
                {
                     k = f[i];
                     f[i] = f[j];
                     f[j] = k;
                 }
             }
        }
        for(i = 0;i<n;i++)
        {
              System.out.print(f[i] + " ");
        }
    }
}
这篇关于Data7.21数列排序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!