把数组按照降序排列,然后加入一个数,重新排列

程序代码:

package com.bd22;

import java.util.Scanner;

public class Sort {
    public static void main(String[] args) {
        int[] nums = new int[6];
        nums[0]=87;
        nums[1]=76;
        nums[2]=84;
        nums[3]=96;
        nums[4]=56;
//        对比的轮数
        for(int i = 0; i < nums.length-1; i++) {
//            每一轮对比的次数
            for(int j = 0; j < nums.length - i - 1; j++) {
                int n = 0;
                if(nums[j]<nums[j+1]) {
                    n = nums[j];
                    nums[j] = nums[j+1];
                    nums[j+1] = n;
                }
            }
        }
//        打印出排序后的数组
        System.out.println("把数组按降序排列:");
        for(int num:nums ) {
            System.out.print(num+"\t");
        }
        System.out.println("\n"+"请输入一个数字:");
        Scanner s = new Scanner(System.in);
        int num = s.nextInt();
        int n = -1;
//        先算出插入的数的下标
        for(int i = 0; i < nums.length; i++) {
            if(num > nums[i]) {
                n = i;
                break;
            }
        }
//        给数组重新赋值
        for(int i = 5; i >= n+1; i--) {
            nums[i]=nums[i-1];
        }
        nums[n]=num;
//        打印出输入数字后的排序
        System.out.println("输入一个数字后的数组重新排列:");
        for(int a:nums ) {
            System.out.print(a+"\t");
        }
    }
}

运行结果:

猜你喜欢

转载自www.cnblogs.com/yangwenxiang/p/10216545.html