package com.fyb.test.week1;
public class Test5 {
//a,b--形参 10,20--实参
/*public static int add(int a,int b){
int c=a+b;
return c;
}*/
static int arr[] = new int[5];
static int index = 0;
public static void append(int val){
if(index==arr.length){
int temp[] = new int[arr.length+1];
for(int i=0;i<arr.length;i++){
temp[i] = arr[i];
}
arr = temp;
}
arr[index++] = val;
}
public static void for_arr(int arr[]){
for(int a:arr){
System.out.print(a+" ");
}
}
1、静态初始化二维数组 {{11,15,32,21},{2,3},{4,5,6}},输出每个元素的值,并从小到大排序。
int ff[][]={{11,15,32,21},{2,3},{4,5,6}};//ctrl+shift+R,整体替换标点符号
int count=0;
for(int[] a:ff){
count +=a.length;
}
int a[]=new int[count];
int index=0;
for(int b[]:ff){
for(int c:b){
a[index++]=c;
}
}
选择排序:
int[] a= {11, 15, 32, 21, 2, 3, 4, 5, 6};
//选择排序
for(int i=0;i<a.length-1;i++){
int min_index=i;
for(int j=i+1;j<a.length;j++){
if(a[j]<a[min_index]){
min_index=j;
}
}
int t=a[i];
a[i]=a[min_index];
a[min_index]=t;
}
for (int d:a){
System.out.print(d+" ");
}
插入排序:
for (int i=1;i< a.length;i++){
int y=i;
for(int j=i-1;j>=0;i--){
if(a[i]>a[j]){
y--;
continue;
}
}
//把i位置元素插入到合适y位置
if(y!=i){
int t=a[i];
for (int k=i-1;k>=y;k--){
a[k+1]=a[k];
}
a[y]=t;
}
}
for (int d:a){
System.out.print(d+" ");
}
排序前3个:
Arrays.sort(ages,0,3);
for (int a:ages){
System.out.print(a+" ");
}
复制长度:
int ages1[]=Arrays.copyOf(ages,ages.length);
System.out.println(ages);
System.out.println(ages1);
看两个数组是否相等:
Integer ages[]={4,1,6,0,5,2};
Integer ages2[]={4,1,6,0,5,2};
System.out.println(Arrays.equals(ages,ages2));
System.out.println(Arrays.deepEquals(ages,ages2));//比较地址是否相同