蓝桥杯.Java.数列排序

问题描述

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

输入格式

1、第一行为一个整数n。
2、第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。

输出格式

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

样例输入

5
8 3 6 4 9

样例输出

3 4 6 8 9

题目解析

1、在第一行输入一个整数n,在第二行输入n个整数,以数组的方式来保存

int n = scanner.nextInt();
int num[] = new int[n];

2、用for循环遍历所输入的n个整数

for(int i = 0; i < n ; i++)
num[i] = scanner.nextInt();

3、利用Array.sort()来进行排序,对所输入的数进行从小到大的排序

Arrays.sort(num);

4、最后只需要遍历,把数输出

for(int i : num)
System.out.print(i+" ");

参考代码

package Java.practice.homework;

import java.util.Arrays;
import java.util.Scanner;

public class Homework02
{
    public static void main(String[] args)
    {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int num[] = new int[n];
        for(int i = 0; i < n ; i++)
            num[i] = scanner.nextInt();
            Arrays.sort(num);
            for(int i : num)
                System.out.print(i+" ");

    }
}

用法扩展

1、关于 ==Arrays.sort(num);==用法

1)如本题所使用的Arrays.sort(num)Arrays.sort(数组)

即对一个数组所有元素进行排序,而且排序的时候是从小到大

2)Arrays.sort(数组, 从第X个数开始循环【起始位置】, 循环到第Y个数停止【终止位置】)

如:在{3,5,9,7,0}中,只让第1到第4位之间的排序按照从小到大,最后输出为:3 5 7 9 0

package Java.practice.homework;
import java.util.Arrays;
import java.util.Scanner;
public class Homework02
{
    public static void main(String[] args)
    {
        int num[] = new int[]{3,5,9,7,0};
            Arrays.sort(num,1,4);//输出结果为:3 5 7 9 0
        for(int i = 0; i < num.length ; i++)
                System.out.print(num[i]+" ");

    }
}

2、关于==for(int i : num)==用法

1)意思是先设置一个与 num数组 里的元素相同的变量

2)而这个变量先等于 num数组 的第一个元素

3)然后进入for循环

4)第二次循环就等于 num数组 的第二个元素

5)以此类推

如:

package Java.practice.homework;
import java.util.Arrays;
import java.util.Scanner;
public class Homework02
{
    public static void main(String[] args)
    {
        int num[] = new int[]{3,5,9,7,0};
            Arrays.sort(num,1,4);//输出结果为:3 5 7 9 0
        for(int i :num)
                System.out.print(i+" ");
    }
}

而同时你也可以理解为:

for(int i :num)
   System.out.print(i+" ");//输出i:因为i已经记录了num数组里的元素

与下面的代码相同

for(int i = 0; i < num.length ; i++)
   System.out.print(num[i]+" ");//输出num[i]:通过遍历循环,在这里是输出num数组里的元素
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

放下华子我只抽RuiKe5

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值