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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将一个任意整数插入到已排列的整型数组中,插入后,数组中的数仍保持有序相关的知识,希望对你有一定的参考价值。

实现代码:

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;
				}
			}
		}
		

	}

}

  

以上是关于将一个任意整数插入到已排列的整型数组中,插入后,数组中的数仍保持有序的主要内容,如果未能解决你的问题,请参考以下文章

//插入法排序

往有序数组中插入数

用c#语言编写程序,创建一个长度为n的整型数组,要求:1输入n个整数再输出;2输出n个整数中所有偶数

在有序链表中插入数据

ZZNUOJ_C语言1118:数列有序(完整代码)

[C]排序并插入