快速排序c語言 c語言編程……輸入一數(shù)組,按從大到小的順序排列(提示:可用選擇排序、冒泡排序或插入排序的任意一種)?
c語言編程……輸入一數(shù)組,按從大到小的順序排列(提示:可用選擇排序、冒泡排序或插入排序的任意一種)?按選擇排序:按選擇排序是一種簡單易行的數(shù)據(jù)排序算法。以成形數(shù)組元素為例,有數(shù)組a[10](以C語言描
c語言編程……輸入一數(shù)組,按從大到小的順序排列(提示:可用選擇排序、冒泡排序或插入排序的任意一種)?
按選擇排序:按選擇排序是一種簡單易行的數(shù)據(jù)排序算法。以成形數(shù)組元素為例,有數(shù)組a[10](以C語言描述為例),即a[0]、a[1]、a[8]、a[9](假設(shè)它們的元素彼此不同)。需要按順序?qū)ζ湓剡M行排序。首先,從一個方向掃描一個元素,例如從左到右,以[0]作為參考。接下來,從[0]中找到[9]中最小的元素,并將其與[0]交換。然后將基準位置向右移動一位,重復(fù)上述操作,例如,以a[1]為基準,找出a[1]~a[9]中的最小值,與a[1]交換。當基位置移動到數(shù)組的最后一個元素時,排序結(jié)束(此時,基左側(cè)的所有元素都按增量排序,并且基是最后一個元素,因此排序完成)。下面是C中描述的實現(xiàn)上述排序的函數(shù):void sort(int array[]int n){//n是數(shù)組元素的個數(shù),int i,J,K,temp//i是基位置,J是當前掃描的元素位置,K用來臨時存儲(i=0I)中較小元素的位置