还是用上次的数组{ 56, 92, 24, 37, 48, 86, 13, 39, 50, 90} 共10个元素。
基本步骤:
public BubbleSort(int[] array){
System.out.println("=====================冒泡排序=====================");
int temp = 0;
int mark = 1, arrayLenghtcount = array.length, count = 1;
for (int index = 0; index < array.length - 1; index++) {
if(mark == 0 || arrayLenghtcount == 1){
break;
}
mark = 0; //标记位置,置0时未发生交换,置1则发生交换
for (int index2 = 1; index2 < arrayLenghtcount; index2++) {
if(array[index2 - 1] > array[index2]){
mark = 1;
temp = array[index2 - 1];
array[index2 - 1] = array[index2];
array[index2] = temp;
}
}
System.out.println();
System.out.print("第" + count + "次冒泡排序结果:");
for (int outNumber = 0; outNumber < array.length; outNumber++) {
System.out.print(array[outNumber] + " ");
}
count++;
System.out.println();
arrayLenghtcount--; //每次排序会确定一位关键字,此排序采取增序完成排列,每次-1减少循环次数
}
}平均时间复杂度为O(n2)。
空间复杂度:| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |