假设一个整型数组 int[] array = {1,1,2,6,8,9,7,6,3,3,6};
一、冒泡法排序
int count1 = 0;
for (int i1 = 0; i1 < array.length-1; i1++) {
for (int j1 = 0; j1 < array.length-i1-1; j1++) {
count1++;
if(array[j1]>array[j1+1]){
int temp = array[j1];
array[j1] = array[j1+1];
array[j1+1] = temp;
}
}
}
排序后打印count1可以知道执行了55次,而且无论怎么
int count2 = 0;
int i,j,k=0;
for (i = array.length-1; i > 0; i=k) {
for (j = k = 0; j<i; j++) {
count2++;
if(array[j]>array[j+1]){
int temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
k = j;
}
}
}
排序后打印count2可以知道执行次数小于或者等于55次,这个需要看数据里面的数据大小排序,如果数组本来就是有序的,只需要执行11次就可以了
更新中。。。