标签:int 冒泡 指针 步骤 lan void 数组下标 操作 nbsp
像气泡一样,将数组下标从下到上递增,放着,等待操作
(可以想象成指针操作)
1.指针指向最小下标元素
2.获取比他下标大一的元素的值
3.比较相邻元素大小,若当前指针所指元素比下一个元素大,交换数据
4.指针向前移一位。跳到2步骤
5.当指针所指尾结点与尾结点,比较交换完之后,指针再次跳到最小下标元素即1步骤,直到剩最小两个下标元素值比较完成为止。
感悟:
就像气泡一样,每次指针遍历、比较一次,就将最大值放到了数组尾部后,又把指针放到最小下标元素处,再重新遍历,比较。
优化:
代码:
public static void bubbleSort(int[] array){
for (int i = 0; i < array.length-1; i++) {//控制指针回调到最小下标元素的次数(指针,从须比较最大下标,一下子跳到最小下标元素)
for (int j = 0; j < array.length-i-1; j++) {//指针从下到上,移动,比较
if(array[j]>array[j+1]){
int temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
}
标签:int 冒泡 指针 步骤 lan void 数组下标 操作 nbsp
原文地址:https://www.cnblogs.com/zgmzbhqa/p/12746307.html