packagesort/*** created by legotime on 2016/5/14.
*/classscalasort
resultlist
} //-----------------------------排序演算法-----------------------------------------
//implicit def listtoarray(list1:list[int]) = list1 toarray
//implicit def arraytolist(array2:array[int]) = array2 tolist
//直接插入排序(straight select sorting)
//scala 中有直接的insert函式,和直接插入排序的思想一樣,在此省略改插入法
//希爾排序(shell sort)
defshellsort(sortlist:list[int]):list[int] =
valtemp = cpsortlist(j)
cpsortlist(j) = cpsortlist(minindex)
cpsortlist(minindex) = temp}}
}cpsortlist.tolist
} //簡單選擇排序(selection sort)
defselectsort(sortlist:list[int]):list[int] =
valtemp = cpsortlist(i)
cpsortlist(i) = cpsortlist(minindex)
cpsortlist(minindex) = temp
}cpsortlist tolist
} //氣泡排序(bubble sort)
defbublesort(sortlist:list[int]):list[int] =
}cpsortlist tolist
} //快速排序把(quicksort)
//《scala by example》的乙個列子
defquicksort(sortlist: array[int]): array[int] =
} //歸併排序
defmergesort(sortlist: list[int]): list[int] =
if(sortlist.length == 1) sortlist
else
} }objectscalasort
}
C 後端面試 筆試基礎 1 幾大排序演算法
面試和筆試中常常會遇到排序演算法的提問和面試 這是基礎必須打牢 該圖表來自於 yj coder 將乙個資料插入到已排序好的有序表中,從而得到乙個新的 總長度增加1的有序表。即 先將序列的第1個記錄看成是乙個有序的子串行,然後從第2個記錄逐個進行插入,直至整個序列有序為止。要點 設立哨兵,作為臨時儲存...
java實現9大排序演算法
排序大的分類可以分為兩種 內排序和外排序。在排序過程中,全部記錄存放在記憶體,則稱為內排序,如果排序過程中需要使用外存,則稱為外排序。一般來說外排序分為兩個步驟 預處理和合併排序。首先,根據可用記憶體的大小,將外存上含有n個紀錄的檔案分成若干長度為t的子檔案 或段 其次,利用內部排序的方法,對每個子...
各大排序演算法
後面慢慢完善 includeint h 101 用來存放堆的陣列 int n 用來儲存堆中元素的個數,也就是堆的大小 交換函式,用來交換堆中的兩個元素的值 void swap int x,int y 向下調整函式 傳入乙個需要向下調整的結點編號i,這裡傳入1,即從堆的頂點開始向下調整 void si...