一、数组基本算法
冒泡排序
//外层执行排序的次数
for (int i = 0; i < a.length-1; i++) {
//里层执行调换的数
for (int j = 0; j < a.length-i-1; j++) {
if(a[j]>a[j+1]){
int temp =a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
选择排序
一共N个数 排序 n-1次
//外层用i来表示 排序的次数
for (int i = 0; i < a.length-1; i++) {
int miniIndex=i;//miniIndex表示暂定的最小数所在的位置
//内层用j表示每个数比较的过程
for (int j = i+1; j < a.length; j++) {
if(a[j]<a[miniIndex]){
miniIndex=j;
}
}
//找到了最小数 交换位置
if(miniIndex!=i){
int temp=a[miniIndex];
a[miniIndex]=a[i];
a[i]=temp;
}
}
二、二维数组:
基本使用步骤
1.声明
2.开辟空间
3.给数组赋值
4.使用
5.注意:
System.out.println(a.length);
System.out.println(a[i].length);
System.out.println(a[i][j])
以上三种写法的含义
不规则数组
//写法1
int a[][]=new int[3][];
a[0]=new int[3];
a[1]=new int[4];
a[2]=new int[2];
a[2][1]=10;
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
System.out.print(a[i][j]+"\t");
}
System.out.println("");
}
//写法2
int b[][]={{1,2},{3,4,5},{6,7,8,9,10}};
for (int i = 0; i < c.length; i++) {
c[i]=new int[i+1];
}