經典排序演算法實現

2022-02-09 04:52:43 字數 1337 閱讀 3656

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...