//简单选择排序算法
private void selectSort(int[] datas){
int length = datas.length;
for(int i=0;i<length;i++){
int min = i;
for(int j=i+1;j<length;j++){
int a = datas[min];
int b = datas[j];
if(a>b){//这里为升序,如果要降序则直接这里改成小于即可
min = j;
}
}
int temp = datas[min];
datas[min] = datas[i];
datas[i] = temp;
Log.i("sort", Arrays.toString(datas)+" i:"+i);
}
}
//冒泡排序算法
private void bubbleSort(int[] datas) {
int length = datas.length;
boolean flag;
for (int i = 0; i < length - 1; i++) {
flag = false;//使用flag对冒泡排序进行优化
for (int j = 0; j < length - i-1; j++) {
if (datas[j] > datas[j+1]) {//这里为升序,如果要降序则直接这里改成小于即可
int temp = datas[j];
datas[j] = datas[j+1];
datas[j+1] = temp;
flag = true;
}
Log.i("sort", Arrays.toString(datas) + " j:" + j + " length-i:" + (length - i));
}
if(!flag){//如果这里flag为false,表示现在数据已经是有序的了,则可以直接退出for循环了
break;
}
}
}