Unity c#演算法之冒泡
阿新 • • 發佈:2019-02-17
氣泡排序(Bubble Sort),是一種電腦科學領域的較簡單的排序演算法。
它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。
這個演算法的名字由來是因為越大的元素會經由交換慢慢“浮”到數列的頂端,故名氣泡排序
氣泡排序演算法的運作如下:(從後往前)
- 比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
- 對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
- 針對所有的元素重複以上的步驟,除了最後一個。
-
持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
unity 中 ,面試也可能會涉及到,於是我寫了一個簡單的冒泡下面貼上程式碼
void bubble(int[] array) {//從裡外開始 int inner=0; int out=0; int temp=0;//換值的容器 int isFirst=0; int L=array.length;//長度 for(out=L-1;out>0;out--) { isFirst=0; for(inner=0;inner<L-1;inner++) { //進行比較 if(array[inner]>array[inner+1]) { tempt=array[inner]; array[inner]=array[inner+1]; array[inner+1]=tempt; if(isFirst==0) isFirst=1; if(inner==0 && isFirst!=1) //inner為0即第一次迴圈 {break;} } } } }