排序算法之冒泡排序(JAVA)
//冒泡排序算法 ? 平均時間復(fù)雜度 ? O(n*n) ? 穩(wěn)定的排序算法
下面的是改進(jìn)版的冒泡排序算法,使用exchange 標(biāo)志位進(jìn)行控制
public class bubbleSort {
public static void bubbleSort(int[] data)
{
? ? int i = 0;
? ? int j = 0;
? ? int tmp = 0;
? ? int len = 0;局部變量
? ? boolean exchange = false;
? ? if (null == data){
? ? ? ? return;
? ? }
? ? len = data.length; ? //避免重復(fù)調(diào)用data.length
??
? ? for (i = 0; i < len-1; i++)
? ? {
? ? ? ? exchange = false;
? ? ? ? for (j = 0; j < len - 1 - i; j++) {
? ? ? ? ? ? if (data[j] > data[j+1]) {
? ? ? ? ? ? ? ? tmp = data[j];
? ? ? ? ? ? ? ? data[j] = data[j+1];
? ? ? ? ? ? ? ? data[j+1] = tmp;
? ? ? ? ? ? ? ? exchange = true;
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? if (!exchange) {
? ? ? ? ? ? break;
? ? ? ? }
? ? }
}
}
總結(jié)
以上是生活随笔為你收集整理的排序算法之冒泡排序(JAVA)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于中标麒麟系统出现“网络管理器未响应”
- 下一篇: 嵌入式的薪资还是挺低的