版权声明:有一种生活不去经历不知其中艰辛,有一种艰辛不去体会,不会知道其中快乐,有一种快乐,没有拥有不知其中纯粹 https://blog.csdn.net/wwwzydcom/article/details/83217654
二维数组的基本排序综合
经典冒泡排序核心代码:核心思想相邻两个元素进行比较
for (int i = 0; i <a.length ; i++) {
for (int j = 0; j <a.length-1-i ; j++) {
if (a[j]>a[j+1]) {
int temp;
temp = a[j+1];
a[j+1] = a[j];
a[j] = temp;
}
}
}
直接选择排序:将第一个元素和后面的比较,和较小的比较,拿出较小的在与后面的比较,
优化后的算法:
for (int i = 0; i <a.length -1; i++) {
int t = i; //标记量
for (int j = i; j <a.length ; j++) {
if (a[i]>a[j]){
t=j;
}
}
if (t != i){ //当标记量发生变化,说明后续有值较大,交换值
int temp = a[t];
a[t] = a[i];
a[i] = temp;
}
}