讨论从小到大的情况,
冒泡排序算法,通过对数组元素两两比较,把小的往前排,一趟冒泡排序找到一个数组中最小的,虽然没一趟比较的次数会减小,但是如果排序的数组大小很大呢,显然这个算法的效率会变得很低。
算法代码:
for(int i = 0;i<a.length-1;i++) {
for(int j = 0;j<a.length-1-i;j++) {
if(a[j]>a[j+1]) {
temp = a[j+1];
a[j+1] = a[j];
a[j] = temp;
}
}
}
选择排序算法:选择排序算法大概是这样的,定义一个变量存储每一次排序的值以及定义一个minIndex来存储最小值的下标,每一趟排序只交换一次,这样可以比冒泡排序更省时。
算法代码:
for(int i = 0;i<b.length;i++) {
int min = b[i];
int minIndex = i;
for(int j = i+1;j<b.length;j++) {
if(b[j]<min) {
min = b[j];
minIndex = j;
}
}
temp = b[i];
b[i] = b[minIndex];
b[minIndex] &#