冒泡排序与稀疏数组
-
比较数组arr中两个相邻元素的大小,若arr[i+1]>arr[i], 将这两数交换位置;
-
每次比较都会产生大的和小的数;下一轮比较可以少排一次序;
-
依次循环,直到结束;
public static void main(String[] args) {
int[] arr={1,3,6,8};
int[] sort=sort(arr);// 调用方法
System.out.println(Arrays.toString(sort));
}
public static int[] sort(int[] arr){
// 外层循环
boolean flag=false;
for (int i = 0; i < arr.length-1 ; i++) {
// 内层循环,比较两数大小,小的在前
for (int j = 0; j < arr.length-1-i; j++) {
if (arr[j+1]>arr[j]){
int temp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
flag=true;
}
}
if (flag==false){
break;
}
}
return arr;
}
稀疏数组
当一个数组中大部分元素是0,或者为同一值的数组时,可使用稀疏数组来保存该数组。
稀疏数组的实现:
把具有不同值的元素和行列及值记录在一个小规模数组中,从而缩小程序的规模;

浙公网安备 33010602011771号