冒泡排序,添加元素
//冒泡排序
package cn.aura;
public class ArrayDemo09 {
public static void main(String[] args) {
int[] arr = {87,90,76,42,56,10};
//将arr数组元素从小到大排序输出
for(int i=0;i<arr.length-1;i++) {//控制比较轮数
for(int j=0;j<arr.length-1-i;j++) {//控制比较次数
if(arr[j] > arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
for (int i : arr) {
System.out.println(i);
}
}
}
package cn.aura;
import java.util.Scanner;
/**
*
* 添加元素
* 1.长度: 必须有空位置, 防止出现下标越界或者覆盖数组的元素
* 2.数组元素添加位置不同,操作差距比较大
*
*/
public class ArrayDemo05 {
public static void main(String[] args) {
//有数组: 23 34 76 68
//有一个数据: 56 ---> 插入到数组
//0-3
// int[] arr = new int[5];
// arr[0]=23;
// arr[1]=34;
// arr[2]=76;
// arr[3]=68;
// //下标为4
// //arr[4]=56; //ArrayIndexOutOfBoundsException: 数组下标越界异常
// arr[4]=56;
//
//有一个数组
//添加元素,scanner输入,如果有空位置则直接插入
//使用Scanner进行输入:
//1.输入要插入数据
//2.输入插入的位置
int[] arr = {23,65,76,98,24,0};
Scanner sc = new Scanner(System.in);
System.out.println("请输入要插入的数据:");
int num = sc.nextInt();
System.out.println("请输入数据插入位置(index):");
int index = sc.nextInt();
//1.index小于长度(如果大于,下标越界)
//2.考虑数组是否已经满了
int j = -1;
if(index >= arr.length) {
System.out.println("超过数组长度!");
}else {
for(int i=0;i<arr.length;i++) {
if(arr[i] == 0) {//有空位(第一个为0的位置)
j = i;
break;
}
}
}
if(j!=-1) {
// if(index == arr.length-1) { //在末尾插入
// arr[index] = num;
// }else { //不是在末尾插入
// for(int i=arr.length-2;i>=index;i--) {
// arr[i+1] = arr[i];
// }
// arr[index] = num;
// }
if(index < arr.length-1) {//不是末尾
for(int i=j-1;i>=index;i--) {
arr[i+1] = arr[i];
}
}
arr[index] = num;
}
for (int i : arr) {
System.out.println(i);
}
}
}

浙公网安备 33010602011771号