首页 > 软件 > java有序顺序表中按顺序插入数字

java有序顺序表中按顺序插入数字

软件 2023-07-14

在java程序中排序后插入数字

java排序之后,插入数字的话,你可以将排序的数据组合成一个集合,然后使用集合的add方法进行添加。

java 有序数组中插入一个数

在Java中,数组的长度是不可以改变的,所以你想往一个数组里面添加元素是不可以的。但是你可以把这个数组里面的元素和要添加的元素一起放到另一个数组里面。你的方法我给改了一下,你自己看看吧! class ArryFind { public static void main(String[] args) { int[]b={1,12,33,47,58,72,97,167}; printArr(b); int[]arrys=inst(b,36); printArr(arrys); } public static int search(int []arry, int key) { for (int i=

java编程 向有序数列插入一个数字 java编程

以下程序能独立运行: public class Hello { public static void main(String[] args12) { int sortedBefore[]={1,2,4,5,7,9}; int insertedNum = 0; boolean haveInserted = false; int sortedAfter[] = new int[sortedBefore.length+1]; for(int i=0,j=0; ijava程序:在排序好的数组中添加一个数字,将添加后的数字插入到数组合适的位置。怎么写啊?
importjava.util.Scanner;
/**
*@authoryoung
*@Description:向一个已排序好的数组里面插入一个数,维持原来的排序规律
*@date2016年5月11日下午6:45:03
*/
publicclassInsertSortArrTest{
publicstaticvoidmain(String[]args){
Scannerscanner=newScanner(System.in);
//在排序好的数组插入一个数字,数字要插入到合适的位置上
intintArr[]={11,22,33,44,55,66,77};
System.out.println("输入一个插入的数:");
intinsertNum=scanner.nextInt();
//找到要插入的位置
intinsertIndex=0;
for(inti=0;i if(insertNum insertIndex=i;
break;
}
}
//将insertNum放入要插入的位置,然后后面每个都向后移动一位角标
intintArr1[]=newint[intArr.length+1];
for(inti=0;i if(i>=insertIndex){
if(i==insertIndex)//这个只做一次
intArr1[i]=insertNum;
if(i+1 intArr1[i+1]=intArr[i];
}else{
//插入之前执行,开始执行插入以后就不执行
intArr1[i]=intArr[i];
}
}
//循环输出
for(inti:intArr1){
System.out.print(i+"");
}
}
}

(JAVA)已知一个数组中的数有序排列,编程实现插入一个数后,依然有序.

有两种方法,代码都给你

第一种,就是常规的想法,:建个数组,然后逐个比较,这应该也是出题人的考察点,但是这种题不适合在java理出,一般C语言愿意有这样的问题.

importjava.util.Arrays;
publicclass${
publicstaticvoidmain(String[]args){
Integer[]arr={11,22,33,44,55,66,77,88,99};
System.out.println("插入前:"+Arrays.deepToString(arr));
Integer[]brr=insert(arr,60);
System.out.println("插入前:"+Arrays.deepToString(brr));
}
privatestaticInteger[]insert(Integer[]arr,intnum){
Integer[]brr=newInteger[arr.length+1];
intidx=0;
booleanhasInsert=false;
for(inti=0;iif(hasInsert){
brr[idx++]=arr[i];
continue;
}
if(arr[i]>num){
brr[idx++]=num;
hasInsert=true;
}
brr[idx++]=arr[i];
}
returnbrr;
}
}


第二种就是利用javaapi里的方法,实现简单,但是效率不够,而且也违背了出题人的意愿,可做了解

importjava.util.ArrayList;
importjava.util.Arrays;
importjava.util.Collections;
importjava.util.List;
publicclass${
publicstaticvoidmain(String[]args){
Integer[]arr={11,22,33,44,55,66,77,88,99};
System.out.println("插入前:"+Arrays.deepToString(arr));
Integer[]brr=insert(arr,60);
System.out.println("插入前:"+Arrays.deepToString(brr));
}
privatestaticInteger[]insert(Integer[]arr,intnum){
Listdata=newArrayList();
for(Integera:arr){
data.add(a);
}
data.add(num);
Collections.sort(data);
returndata.toArray(newInteger[0]);
}
}

标签:Java 编程 Java编程 信息技术 数组

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved. 京ICP备11019930号-18