赞
踩
选择排序是一种简单但高效的排序算法。它的基本思想是从未排序的部分中选择最小(或最大)的元素,并将其放置在已排序部分的末尾。
具体实现选择排序的步骤如下:
选择排序的关键点在于每次遍历时,都会找到当前未排序部分中的最小元素,并将其放置在已排序部分的末尾。这样,在每一次遍历后,已排序部分都会增加一个元素,未排序部分减少一个元素,直到最后所有的元素都被排序完成。
选择排序的时间复杂度为O(n^2),其中n是数组的长度。尽管在大规模数据排序时性能相对较差,但对于小规模或部分有序的数组,选择排序是一种简单有效的排序算法。
下面是选择排序的示例代码(使用Java语言实现):
- public class SelectionSort {
- public static void selectionSort(int[] arr) {
- int n = arr.length;
-
- // 遍历数组
- for (int i = 0; i < n-1; i++) {
- // 找到未排序部分中的最小元素的索引
- int minIndex = i;
- for (int j = i+1; j < n; j++) {
- if (arr[j] < arr[minIndex]) {
- minIndex = j;
- }
- }
-
- if(minIndex != i){
- // 将最小元素和当前位置交换
- int temp = arr[minIndex];
- arr[minIndex] = arr[i];
- arr[i] = temp;
- }
- }
- }
-
- public static void main(String[] args) {
- int[] arr = {64, 25, 12, 22, 11};
-
- System.out.println("原始数组:");
- for (int num : arr) {
- System.out.print(num + " ");
- }
-
- selectionSort(arr);
-
- System.out.println("\n排序后的数组:");
- for (int num : arr) {
- System.out.print(num + " ");
- }
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。