選擇法排序演算法是一種常用的排序演算法,他的實現方法是遍歷陣列所有元素,找出最小的元素,將它與第乙個元素交換;然後遍歷剩下的元素,找出最小的元素並與第二個元素交換;接下來再遍歷剩下的元素,找出最小的元素並與第三個元素交換;如此反覆,知道陣列末尾。
比如乙個5個元素的陣列5、3、1、2、4,使用選擇法進行排序,排序步驟如下所示。
下面我們採用c語言編寫一段**來實現上面的5個數的排序,**如下所示。
#include void main()
; int temp;
int min;
printf("data: ");
for(i=0;i<5;i++)
printf("%d ",data[i]);
printf("\n");
for(i=0;i<5;i++)
{ min = i;
for(j=i+1;j<5;j++)
{
if(data[j]編譯**並執行,結果如下所示。
data: 5 3 1 2 4
final data: 1 2 3 4 5
排序演算法 選擇法,冒泡法和快速排序演算法
這裡介紹三種排序演算法 選擇法,冒泡法和快速排序演算法。選擇法和冒泡法是最簡單的兩種排序演算法,易於編寫,但是在處理大量資料時效率不高 在處理少量資料時,所有演算法的效率都差不多 快速排序演算法是目前效率最高的排序演算法,但是編寫較為麻煩。快速排序的平均時間複雜度為o nlogn 在原陣列有序的情況...
C語言之排序演算法 選擇法排序
include include include define arraynum 10 int sortarraycreate int num for int i 0 ireturn ptr void sort int ptr,int num if ischange int main int argc...
排序 選擇法
選擇法 基本思想,每一趟 例如第 i 趟,i 0,1,n 2 在後面 n i個待排的資料元素中選出關鍵字 最小的元素,作為有序元素序列的第 i 個元素。排序過程 首先通過n 1次關鍵字比較,從n個記錄中找出關鍵字最小的記錄,將它與第乙個記錄交換 再通過n 2次比較,從剩餘的n 1個記錄中找出關鍵字次...