C語言實現幾種常見排序演算法

2021-05-24 06:26:40 字數 496 閱讀 7250

/*

* worker.c

**  created on: 2010-7-1

*      author: panfei

*/#include

void swap (int *x, int *y)

// 插入排序 公升序

void insertsort(int arr, int size)

arr[j+1] = to_insert;}}

// 選擇排序 降序

void selectsort(int arr, int size)}}

}// 快速排序

void quicksort(int arr, int left, int right)

}swap(&arr[storeindex], &arr[right]);

quicksort(arr, left, storeindex-1);

quicksort(arr, storeindex+1, right);}}

C語言實現幾種常見排序演算法

氣泡排序最好的時間複雜度為 o n 氣泡排序總的平均時間複雜度為 o n 2 氣泡排序演算法的原理如下 1.比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。2.對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。3.針對所有的元素重複以上的步驟,除...

幾種常見排序演算法的c語言實現

1 冒泡法1 其原理為從a 0 開始,依次將其和後面的元素比較,若a 0 a i 則交換它們,一直比較到a n 同理對a 1 a 2 a n 1 處理,即完成排序。cpp view plain copy void bubble int a,intn 2 冒泡法2 冒泡法還有第二種形式,或者叫沉底法也...

幾種常見排序演算法原理 C語言實現

以下各法均以從小到大排序為例,定義len為陣列array的長度 原理 比較相鄰元素的大小,對於每次迴圈,按排序的規則把最值移向陣列的一端,同時迴圈次數依次減少。c 實現 1.原理 先在未排序的陣列中找出最值,通過交換將其放在陣列第一位,然後再從剩餘的未排序陣列中找到另乙個最值,將其放在已排序陣列的末...