scala實現幾大排序演算法

2021-07-11 19:47:57 字數 1470 閱讀 6249

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