首页 > 代码库 > 将一个任意整数插入到已排列的整型数组中,插入后,数组中的数仍保持有序

将一个任意整数插入到已排列的整型数组中,插入后,数组中的数仍保持有序

实现代码:

package homework;

import java.util.Scanner;

public class HomeWork {

	public static void main(String[] args) {
		//將输入的数字插入到一个有序的数组中的合适位置
		
		Scanner input = new Scanner(System.in);
		
		System.out.println("请输入一个数字:");
		
		int num = input.nextInt();
		
		
		//有序的整型数组
		int[] nums = {20,23,50,53,65,68};
		
		
		//1,找到合适的位置   索引
		int index = nums.length;
		
		for(int i = 0;i < nums.length;i++){
			
			if(nums[i] > num){
				index = i;
				break;
			}
		}
		
		//进行新数组的构建,在index之前直接复制,index则是输入数字的位置,
		//index之后的每一位元素后移
		
		
		int[] newNums = new int[nums.length+1];
		
		for(int i = 0;i<newNums.length;i++){
			if(i < index){
				newNums[i] = nums[i];
			}else if(i == index){
				newNums[i] = num;
			}else{
				newNums[i] = nums[i - 1];
			}
		}
		
		//输出新数组
		System.out.println("插入后的结果");
		for(int i = 0;i<newNums.length;i++){
			System.out.println(newNums[i]);
		}

		for(int i =0;i<nums.length-1;i++){
			for(int j = 0;j<nums.length-i-1;j++){
				if(nums[j] > nums[j+1]){
					int temp;
					temp = nums[j];
					nums[j] = nums[j+1];
					nums[j+1]=temp;
				}
			}
		}
		

	}

}

  

将一个任意整数插入到已排列的整型数组中,插入后,数组中的数仍保持有序