The core idea of the selection sort is to choose the minimum/maximum element from the remaining elements in the array, and then put it to the end of the elements that you have already sorted.
The detail steps of this algorithm are as follows:
1. Traverse the element from first until the last but one.
Notice: We should finish the loop until the one before the last one, not the last one.
2. Choose the minimum/maximum element from the sub-array, which starts with the first element you haven't sorted until the last, and then put the minimum/maximum one to the end of the elements you have already sorted.
3. Loop next sub-array until the last.
Its time complexity is O(n2).
The following is the implementation of selection-sortby java.
public void selectionSort(){
int[] A = {4,5,3,2,7,5,8};
for(int i = 0; i < A.length - 1;i++){
int min = A[i];
int position = i;
for(int j = i + 1;j < A.length;j++){
if(min > A[j]){
min = A[j];
position = j;
}
}
A[position] = A[i];
A[i] = min;
}
}
本文详细介绍了选择排序算法的基本原理和实现步骤。通过遍历未排序数组找到最小或最大元素,并将其放置于已排序部分的末尾,重复此过程直至整个数组有序。文章提供了Java语言的具体实现代码。
218

被折叠的 条评论
为什么被折叠?



