选择排序和冒泡排序
选择排序和冒泡排序有些相似,所以把它们两个放在一起写,记录下
选择排序
原理
对于一个给定的数组,首先找到数组中最小的元素,其次,将它和数组中的第一个元素交换位置(如果第一个元素即使最小元素,那么它就和自己交换)。再次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。如此往复,直到将整个数组排序。
代码实现
1 | public void sort(Comparable[] arr) { |
冒泡排序
原理
对于一个给定的数组,有n个元素。从第一个元素开始,每个元素跟后面相邻的元素进行比较,把大的或者小的元素放到后面,第一遍比较完毕之后,最后一个元素是最大或者最小的,第二遍比较的时候,最后一个元素不参与比较。如此往复,直到整个数组排序完毕。
代码
1 | public void sort(Comparable[] arr) { |
说明
less
方法是比较传入的两个数的大小,exch
方法是交换两个数位置。