数组使用
数组的基本使用:
package charpter4;
public class ArrayDemo2 {
public static void main(String[] args) {
int[] arrays = {1,2,3,4,5};
printArray(arrays);
arrays=reverse(arrays);
printArray(arrays);
}
//输出数组
public static void printArray(int[] arrays){
for(int x:arrays){
System.out.print(x+" ");
}
System.out.println();
}
//翻转数组
public static int[] reverse(int[] arrays){
int[] result = new int[arrays.length];
int i=arrays.length;
for (int x:arrays){
result[--i]=x;
}
return result;
}
}
多维数组:
int[][] a={{1,2},{3,4},{5,6}};
Arrays 类
在工具类java.util.Arrays中
package charpter4;
import javafx.scene.control.TableColumn;
import java.sql.SQLOutput;
import java.util.Arrays;
public class ArraysUse {
public static void main(String[] args) {
int[] a = {1,4,5,2,3,6};
//打印数组元素Arrays.toString
System.out.println(Arrays.toString(a));
//给数组赋值Arrays.fill()
Arrays.fill(a,0,1,10);
System.out.println(Arrays.toString(a));
//排序方法 Arrays.sort() 由小到大排序
Arrays.sort(a);
System.out.println(Arrays.toString(a));
//比较方法 Arrays.equal()
System.out.println(Arrays.equals(a,a));
//查找数组元素,二分查找 已排序 Arrays.binarySearch()
System.out.println(Arrays.binarySearch(a,10));
int[] aa = {1,4,5,2,3,6};
//冒泡排序 两层循环: 外层表示冒泡轮数,内层表示比较
for(int i=0;i<aa.length;i++)
for(int j=0;j<aa.length-1-i;j++){
if(aa[j]>aa[j+1]){
aa[j]=aa[j]+aa[j+1];
aa[j+1]=aa[j]-aa[j+1];
aa[j]=aa[j]-aa[j+1];
}
}
System.out.println(Arrays.toString(aa));
int[] b = {1,4,5,2,3,6};
//简单选择排序
for(int i=0;i<b.length;i++)
for(int j=i;j<b.length;j++){
if(b[i]>b[j]){
b[i]=b[i]+b[j];
b[j]=b[i]-b[j];
b[i]=b[i]-b[j];
}
}
System.out.println(Arrays.toString(b));
}
}
八大排序
-
插入排序-直接插入排序
-
插入排序-希尔排序
-
选择排序-简单选择排序(如上)
-
选择排序-堆排序
-
交换排序-冒泡排序(如上)
-
交换排序-快速排序
-
归并排序
-
基数排序