冒泡排序
相邻元素两两比较,如果第一个比第二个大就交换位置
每一次比较,都会产生一个最大或最小的数字
下一轮可以少一次排序
时间复杂度O(n2)
//临时变量
int temp = 0;
//外层循环,判断循环次数
for(int i = 0;i<array.length-1;i++){
//内层循环,比较判断两个数大小
for(int j = 0;j<array.length-1-i;j++){
//后一个数比前一个数大则交换位置
if(array[j+1]<array[j]){
temp = array[j+1];
array[j+1] = array[j];
array[j] = temp;
}
}
}
稀疏数组
当一个数组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组来保存该数组。
稀疏数组的处理方式是:
-
记录数组一共有几行几列,有多少个不同值
-
把具有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模