在有序數組中插入新元素,並使數組依然有序


import java.util.*;

//在有序數組中插入一個數字,使數組依然有序排列
public class DemoinDex06 {

public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//原數組
int [] oldarr = {11,22,33,44,55,66,77};
//要添加的數字
System.out.println("請輸入您要插入的數字:");
int num =input.nextInt();



//建立一個新數組的框架【因為數組一經定義無法在添加】
int [] newarr = new int[oldarr.length+1];
//將原數組的元素賦值到新數組當中
for (int i = 0; i < oldarr.length; i++) {
newarr [i]= oldarr[i];
}
//初始化一個索引的位置
int index = 0;
//確定index在新數組中的位置 【此處要從大往小比】
for (int i = oldarr.length-1; i >=0; i--) {
if (num>newarr[i]){
index = i+1;
break;
}
}
//移動新數組各元素的位置,給要添加的數字空出位置
for (int i = oldarr.length-1; i >=index; i--) {
newarr[i+1]=newarr[i];
}
//將要插入的數字保存進相應位置
newarr [index] = num;
System.out.println(Arrays.toString(newarr));
}

結果:

 

 




免責聲明!

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



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