自己實現了一遍氣泡排序、選擇排序、插入排序,留個念想
氣泡排序
簡單來說就是從陣列末端冒泡到陣列當前位置
void bubblesort(unsigned char *data, unsigned short length)
} }}
選擇排序
當前位置之後的所有數跟當前位置的數比較,得到最小的數到當前位置
void select_sort(unsigned char *data, int length)
if (min != i)
}}
插入排序
當前位置以下挪出乙個適合的位置來放當前位置資料
void insert_sort(unsigned char *data, int length)
data[j] = min;
}}
折半查詢
int bi_find(unsigned char n, unsigned char *data, int length)
else if (data[mid] < n)
min = mid+1;
else if (data[mid]>n)
max = mid-1;
mid = (min + max) / 2;
} return ret;
}
各種排序與查詢演算法
include include include define swap a,b intorder find int arr,size t len,int key return 1 int binary find int arr,size t l,size t r,int key intbinary ...
排序演算法和查詢演算法
法是用來解決常見問題的方法 同乙個問題可以採用多種方法解決,不同 方法適用於不同的環境 排序指的是把一組數字按照某種順序排列好 排序演算法分很多次重複執行,每次負責把 乙個數字放在合適的位置上 為了實現以上效果可以先確定數字然後查詢 位置也可以先確定位置然後查詢數字 通過不斷調整兩個數字的相互順序最...
各種排序演算法
交換函式 void swap int a,int b 氣泡排序 氣泡排序 bubble sort,台灣譯為 泡沫排序或氣泡排序 是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排...