三 数组
- 三 数组
总结于尚硅谷视频
三 数组
1 数组的概述
可以看我好朋友Crash-struggle的博客
2 一维数组的使用
可以看我好朋友Crash-struggle的博客
3 多维数组的使用
可以看我好朋友Crash-struggle的博客
4 数组算法
package com.arr.bjsxt.array;
public class Excpai {
//数组排序方法
public static void bubbleSort(int[] values) {
if (values == null||values.length==1)return;
for (int i = 0; i < values.length - 1; i++) {
boolean isSorted = true;
for (int j = 0; j < values.length - 1 - i; j++) {
if (values[j] > values[j + 1]) {
int temp = values[j];
values[j] = values[j + 1];
values[j + 1] = temp;
isSorted = false;
}
}
if (isSorted)
break;
}
}
//主方法
public static void main(String[] args) {
int[] arr = {1, 3, 2,3,5,7,8,9,10};
bubbleSort(arr);
print(arr);
}
//打印数组方法
public static void print(int[] arr){
if (arr==null) return;
for (int i :arr){
System.out.print(i+" ");
}
System.out.println();
}
}
package com.arr.bjsxt.array;
import java.util.Arrays;
public class Exccha {
public static void main(String[] args) {
int[] arr ={30,20,50,10,80,9,7,12,100,40,8};
int searchWord = 20;
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
System.out.println(searchWord+"元素的索引:"+binarySearch(arr,searchWord));
}
public static int binarySearch(int[] array,int value){
int low=0;
int high=array.length-1;
while (low<=high){
int middle=(low+high)/2;
if(value==array[middle]){
return middle;
}
if(value>array[middle]){
low=middle+1;
}
if(value<array[middle]){
high=middle-1;
}
}
return -1;
}
}
5 Arrays工具类的使用
package com.arr.bjsxt.array;
import java.util.Arrays;
/**
* 测试java,util.Arrays类
*这个类是Java提供给我们提供给我们操作数组的工具类
* 提供了常见的:排序、查找、填充、打印数组内容的相关方法。
*/
public class Test03 {
public static void main(String[] args) {
// int[] a={100,200,300};
// //测试打印
// System.out.println(Arrays.toString(a));//打印数组内容
//测试排序
// int[] a={com.1,2,323,23,543,12,59};
// System.out.println(Arrays.toString(a));
// Arrays.sort(a);
// System.out.println(Arrays.toString(a));
//测试二分法查找
// int[] a={com.1,2,323,23,543,12,59};
// System.out.println(Arrays.toString(a));
// Arrays.sort(a); //使用二分法查找,必须对数组进行排序
// System.out.println(Arrays.toString(a));
// //返回排序后的新索引位置,若未找到返回负数。
// System.out.println("该元素的索引:"+Arrays.binarySearch(a,12));//排序后的序号2
//替换
int[] a={1,2,323,23,543,12,59};
System.out.println(Arrays.toString(a));
Arrays.fill(a,2,4,100);//将2到4的索引的元素替换为100;
System.out.println(Arrays.toString(a));
}
}