//已知有个升序的数组 要求插入一个元素 该数组的顺序依然是升序
//[10,12,45,90] 要求插入23后依然是升序
//扩容+冒泡
int[] arr={10,12,45,90};
int a=23;
int[] temp=new int[arr.length+1];
for (int i = 0; i < arr.length; i++) {
temp[i]=arr[i];
}
temp[temp.length-1]=a;
int result =temp[0];
for (int j = 0; j < temp.length-1; j++) {
for (int i = 0; i < temp.length-1-j; i++) {
if (temp[i]>temp[i+1]){
result=temp[i];
temp[i]=temp[i+1];
temp[i+1]=result;
}
}
}
for (int i = 0; i < temp.length; i++) {
System.out.print(temp[i]+"\t");
}
}
//已知有个升序的数组 要求插入一个元素 该数组的顺序依然是升序
//[10,12,45,90] 要求插入23后依然是升序
//扩容+定位
int[] arr={10,12,45,90};
int insertNum=100;
int index=-1;
//遍历arr数组 如果发现insertNum<=arr[i] 说明i就是要插入的位置
//使用index 保留index=i
//如果遍历完后 没有发现 insertNum<=arr[i] 说明 index=arr.length 即添加到arr的最后
for (int i = 0; i <arr.length ; i++) {
if(insertNum<=arr[i]){
index=i;
break;
}
}
if(index==-1){
index=arr.length;
}
int[] arrNew = new int[arr.length+1];
for (int i = 0,j=0; i < arrNew.length; i++) {
if(i != index){
arrNew[i]= arr[j];
j++;
}else{
arrNew[i]=insertNum;
}
}
for (int i = 0; i < arrNew.length; i++) {
System.out.print(arrNew[i]+"\t");
}
int[] arr= new int[10];
//生成数组
for (int i = 0; i < arr.length; i++) {
arr[i]=(int)(Math.random()*100)+1;
}
//打印数组
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+"\t");
}
System.out.println();
int max=0;
int maxIndex=0;
//取最大值下标
for (int i = 0; i < arr.length; i++) {
if(arr[i]>max){
max=arr[i];
maxIndex=i;
}
}
System.out.println("最大值下标--"+maxIndex);
System.out.println("最最大值--"+max);
//数组中是否有8
int findNum=8;
int index=-1;
for (int i = 0; i < arr.length; i++) {
if(arr[i]==findNum){
System.out.println("数组中有8---------------");
break;
}
}
if(index==-1){
System.out.println("------------数组中没有8");
}
//倒序排列
System.out.println("倒序排列");
for (int i = arr.length-1; i >0 ; i--) {
System.out.print(arr[i]+"\t");
}
System.out.println();
//求平均数
double total=0;
for (int i = 0; i < arr.length; i++) {
total += arr[i];
}
System.out.println("平均数是--"+(total / arr.length));