將一個任意整數插入到已排列的整型數組中,插入后,數組中的數仍保持有序


實現代碼:

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

	}

}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM