选择排序
int nums={1,3,2,7,5,4,9,10};
//选择循环 基本法
for(int i=0;i<arr.length-1;i++){
for(int j=i+1;j<arr.length.j++){
if(arr[i]>arr[j]){
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
常规标准法
for (int i = 0; i < arr.length-1; i++) {
int minIndex = i;
for (int j = i+1; j < arr.length; j++) {
if(arr[minIndex] > arr[j]){
minIndex = j;
}
}
if(minIndex != i){
int temp = arr[minIndex];
arr[minIndex] = arr[i];
arr[i] = temp;
}
}
System.out.println(Arrays.toString(arr));
}
插入排序法
int [] arr={9,6,4,10,11,3,2,1};
for (int i = 0; i < arr.length; i++) {
//定义要插入的数字
int num=arr[i];
//定义要插入拍的位置
int index=i;
//如果要插入的这个位置大于1并且这个下标减一大于插入的数
while (index>=1&&arr[index-1]>num){
//就将这个数之前的额值赋值给他
arr[index]=arr[index-1];
index--;
}
arr[index]=num;
}
System.out.println(Arrays.toString(arr));
二维数组的创建及遍历
int[][] nums=new int[10][5];
for (int i = 0; i < nums.length; i++) {
for (int j = 0; j < nums[i].length; j++) {
System.out.print(nums[i][j]+"\t");
}
System.out.println();
}
合并数组
int[] a = {3, 5, 1, 7, 8, 11, 22};
int[] b = {2, 8, 6, 4, 88, 66, 44};
int[] c = new int[a.length+b.length];
//设定三个数组的定义下标初始化
int indexA = 0;
int indexB = 0;
int indexC = 0;
while (indexA < a.length && indexB < b.length) {
c[indexC++] = a[indexA] < b[indexB]
? a[indexA++] : b[indexB++];
}
while (indexA<a.length){
c[indexC++]=a[indexA++];
}
while (indexB<b.length){
c[indexC++]=b[indexB++];
}
System.out.print(Arrays.toString(c)+"\t");
方法
1.二分查找方法;
int[] arr ={1,2,3,4,5,6,7};
int index=Arrays.binarySearch(arr,5);
2.排序
Arrays.sort();
3.扩容数组
int arr2[]=Arrays.cpoyOf(arr,arr.length*2);
4.截断数组
int arr3[]=Arrays.copyOfRange(arr,1,3);
以上内容均为自己理解,不作为准确定理。 选择性观看,持续跟新进度,喜欢感谢关注 CSDN博主:One_Gun