JAVA每日随手练【数组的排序与查找】
1.冒泡排序
功能:给定一个整型数组, 实现冒泡排序(升序排序) 代码:
public class test1 {
public static void main(String[] args) {
int[] array1 = {8,9,8,7,4,3};
System.out.println("排序前数组元素有:");
for(int num:array1){
System.out.print(num+" ");
}
System.out.println("\n数组为:");
System.out.println(Arrays.toString(array1));
sort(array1);
System.out.println("排序后的数组为:");
System.out.println(Arrays.toString(array1));
}
public static void sort(int[] array){
for(int i=0;i<array.length-1;i++){
for(int j=0;j<array.length-1-i;j++){
if(array[j]>array[j+1]){
int array2=array[j];
array[j]=array[j+1];
array[j+1]=array2;
}
}
}
}
}
运行结果:
2.数组是否有序
功能:给定一个整型数组, 判定数组是否有序(递增) 代码:
public class test2 {
public static void main(String[] args) {
int []arr = {1,2,3,41,5,6};
System.out.println(induge(arr));
}
public static boolean induge(int[]arr) {
for(int i=0;i<arr.length-1;i++) {
if (arr[i] > arr[i + 1]) {
return false;
}
}
return true;
}
}
运行结果:
3.二分查找
功能:给定一个有序整型数组, 实现二分查找
import java.util.Scanner;
public class test3 {
public static void main(String[] args) {
int []arr = new int []{1,2,3,4,5,6,7,8};
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
System.out.println(binarySearch(arr,n));
scan.close();
}
public static int binarySearch(int[]arr,int toFind) {
int left = 0;
int right = arr.length-1;
while(left<=right) {
int mid = (left+right)/2;
if(toFind<arr[mid]) {
right=mid-1;
}else if(toFind>arr[mid]) {
left=mid+1;
}else{
return mid;
}
}
return -1;
}
}
运行结果:
4.数组的拷贝
要求:实现一个方法 copyOf, 对一个整型数组进行拷贝, 得到一个新的数组
import java.util.Arrays;
public class test4 {
public static void main(String[] args) {
int []arr = {1,2,3,4,5,6};
int []newarr = copyOf(arr);
System.out.println(Arrays.toString(newarr));
}
public static int[] copyOf(int []arr) {
int[] arr2=new int[arr.length];
for(int i=0;i<arr.length;i++) {
arr2[i] = arr[i];
}
return arr2;
}
}
运行结果:
5.数组转字符串
要求:实现一个方法 toString, 把一个整型数组转换成字符串. 例如数组 {1, 2, 3} , 返回的字符串为 “[1, 2, 3]”, 注意 逗号 的位置和数量
public class test5 {
public static void main(String[] args) {
int[] arr = {1, 2, 3};
String a = toString (arr);
System.out.println(a);
}
public static String toString(int[] arr) {
String a = "[";
for (int i = 0; i < arr.length; i++) {
a += arr[i];
if(i != arr.length -1) {
a += ",";
}
}
a += "]";
return a;
}
}
运行结果:
|