1.数组的反转实现
将数组反转过来,实现代码:
package com.demo.arry;
//数组的反转
public class demo03 {
public static void main(String[] args) {
int[] arr={11,22,33,44,55,66};
prints(arr);
turn(arr);
prints(arr);
}
public static void turn(int ...arr){
for (int star=0 , fina= arr.length-1;star<arr.length/2;star++){
int temp=arr[star];
arr[star]=arr[fina];
arr[fina]=temp;
fina--;
}
}
public static void prints(int... arr) {//封装成一个int数组
System.out.print("数组是:[");
for (int i = 0; i < arr.length; i++) {
if (i == arr.length - 1) {
System.out.println(arr[i] + "]");
} else {
System.out.print(arr[i] + ",");
}
}
}
}
2.用数组实现冒泡排序,将数组元素进行升序排列,实现代码:
package com.demo.arry;
//冒泡排序
public class demo04 {
public static void main(String[] args) {
int [] a={5,4,7,9,32,15,2,1,8};
prints(a);//输出排序前的数组
change(a);//数组排序
prints(a);//输出排序后的数组
}
public static void change(int ...arr){
for (int i=1;i<arr.length;i++){//外层循环控制求几次最大值
for(int j=0;j< arr.length-i;j++){//内层循环控制每次求最大值比较几次
if(arr[j]>arr[j+1]){//与后一个元素比较
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
}
public static void prints(int... arr) {//封装成一个int数组
System.out.print("数组是:[");
for (int i = 0; i < arr.length; i++) {
if (i == arr.length - 1) {
System.out.println(arr[i] + "]");
} else {
System.out.print(arr[i] + ",");
}
}
}
}
3.数组的二分查找,利用递归实现,代码如下:
package com.demo.arry;
//在数组中查找指定元素第一次出现的索引
public class demo05 {
public static void main(String[] args) {
int [] a={5,4,7,9,32,15,2,1,8};
int [] c={1,2,3,4,5,6,7,8,9,10,15,16,19,20};
int b=17;
//find(b,a);
int low =0;
int top=c.length-1;
int mid=(low+top)/2;
find_2(mid,top,low,c,b);
}
/* public static void find(int b,int ...a){
for (int i=0;i<a.length;i++){
if (a[i]==b){
System.out.println("b在数组中的索引序列是:"+(i+1));
break;
}
if(i==a.length-1){
System.out.println("b元素不在数组中");
}
}
}*/
//
public static void find_2(int mid, int top, int low,int[] a,int b){
if(top<low){
System.out.println("b元素不在数组中");
return;
}else if (a[mid]<b){
low=mid+1;
mid=(mid+top)/2;
find_2(mid,top,low,a,b);
}else if(a[mid]>b){
top=mid-1;
mid=(mid+low)/2;
find_2(mid,top,low,a,b);
}else if(a[mid]==b){
System.out.println("b在数组中的索引序列是:"+(mid+1));
return;
}
return;
}
}