1.希爾演算法:
#include
/* 希爾排序演算法實現--但有時不穩定 */
void println(int array, int len)
array[k] = temp;
}}while( gap > 1 );
}int main()
;//開闢空間
int len = sizeof(array) / sizeof(*array);
println(array, len);
shellsort(array, len);
println(array, len);
return 0;
}2.快速演算法:
#include
/* 快速排序演算法實現--也是不穩定 */
void println(int array, int len)
//交換資料進行劃分--pv 表示用來比較的基準
swap(array, low, high);
while( (low < high) && (array[low] <= pv) )
swap(array, low, high);
}return low;
}//快速演算法如下
void qsort(int array, int low, int high)
}//之後在進行遞迴呼叫排序
void quicksort(int array, int len) // o(n*logn)
int main()
;int len = sizeof(array) / sizeof(*array);
println(array, len);
quicksort(array, len);
println(array, len);
return 0;
}2.歸併演算法:
#include
#include
/* 歸併排序演算法如下--此演算法穩定 */
void println(int array, int len)
//釋放空間
free(space);}}
//進行排序之後 複製到原陣列來
void mergesort(int array, int len) // o(n*logn)
int main()
;int len = sizeof(array) / sizeof(*array);
println(array, len);
mergesort(array, len);
println(array, len);
return 0;
}
經典排序演算法C 實現
用c 實現了經典的氣泡排序 插入排序 選擇排序 堆排序 快速排序 希爾排序 歸併排序。等空閒的時候再補充每個排序演算法的思想以及易錯點。氣泡排序 void bubble sort vector arr,int n if swaped 0 break else swaped 0 插入排序 withou...
經典排序演算法(C 實現)
氣泡排序 public static int bubblesort int array return array 選擇排序 1.從左至右遍歷,找到最小 大 的元素,然後與第乙個元素交換。2.從剩餘未排序元素中繼續尋找最小 大 元素,然後與第二個元素進行交換。3.以此類推,直到所有元素均排序完畢。pu...
經典排序演算法(Python實現)
氣泡排序 演算法思想 公升序排序 第一次遍歷,依次比較相鄰兩個元素的大小,大的放後面小的放前面,找到最大的元素排在最後,以此類推遍歷n 1次。def bubblesort array length len array for i in range length for j in range leng...