简单算法
简单算法
冒泡排序
//冒泡排序
public static int[] sort2(int[] a){
int t=0;
for (int i = 0; i < a.length-1; i++) {
for(int j=0;j<a.length-1-i;j++){
if(a[j+1]<a[j]){
t=a[j+1];
a[j+1]=a[j];
a[j]=t;
}
}
}
return a;
}
稀疏数组
public class ArrayTest {
public static void main(String[] args) {
//十二行十一列的数组
int[][] array1 = new int[12][11];
array1[0][3] = 1;
array1[2][4] = 1;
array1[3][5] = 2;
array1[5][7] = 2;
print(array1);
System.out.println("------------------------------------------------");
//装换成稀疏数组保存,count+1行三列
System.out.println("稀疏数组");
//获取有效值个数
int count = 0;
for (int i = 0; i < array1.length; i++) {
for (int j = 0; j < array1[i].length; j++) {
if (array1[i][j] != 0) {
count++;
}
}
}
//稀疏数组第一行
int[][] array2 = new int[count + 1][3];
array2[0][0] = 12;
array2[0][1] = 11;
array2[0][2] = count;
int temp = 1;
for (int i = 0; i < array1.length; i++) {
for (int j = 0; j < array1[i].length; j++) {
if (array1[i][j] != 0) {
array2[temp][0] = i;
array2[temp][1] = j;
array2[temp][2] = array1[i][j];
temp++;
}
}
}
print(array2);
System.out.println("------------------------------------------------");
//还原
System.out.println("还原");
int[][] array3 = new int[array2[0][0]][array2[0][1]];
for (int i = 1; i < array2.length; i++) {
array3[array2[i][0]][array2[i][1]]=