冒泡演算法及針對有序的優化

2021-07-28 09:03:02 字數 589 閱讀 5379

氣泡排序是一種內交換排序  簡單但天然 此次實現了基本的氣泡排序 和 針對資料已經有序或尾部有序的情況 減少不必要的迴圈 從而實現優化

---c語言實現

---優化:針對已經有序 或 尾部有序減少不必要的迴圈

#include #include //氣泡排序

void bubblesort(int arr,int length)

iiiii++;

} }printf("%d \n",iiiii);

}//冒泡對尾有序或已有序的優化

void bubblesort_optimize(int arr,int length)

iiiii++;

} if(!issorted)break ;

issorted = count-issorted;

} printf("%d \n",iiiii);

}//遍歷陣列

void loopforarr(int arr,int length)

{ int count;

if(arr == null || length <=0)return ;

for(count = 0;count

氣泡排序演算法及優化

氣泡排序是一種典型的交換排序演算法,通過交換資料元素的位置進行排序。從序列頭部開始,進行兩兩比較,根據大小交換位置,直到最後將最大 小 的資料元素交換到了佇列的隊尾,從而成為有序序列的一部分 下一次繼續這個過程,直到所有資料元素都排好序。演算法的核心在於每次通過兩兩比較交換位置,選出剩餘無序序列裡最...

氣泡排序及演算法優化

用雙重迴圈來控制,當相鄰元素不滿足要求的順序排列 從小到大或從大到小 時,就將兩元素交換位置,以此逐漸遍歷。void bubblesort int array long endtime system.currenttimemillis 列印排序後的前10個數 for int i 0 i 10 i s...

氣泡排序演算法及優化

正常的兩兩交換實現 private static void sort1 int a time system.out.println 跑了 time 次 system.out.println arrays.tostring a 當陣列後面的排好過後就不在執行實現 private static void...