赞
踩
选择排序(Selection Sort)是一种简单直观的排序算法。它的工作原理是不断地选择剩余元素中的最小(或最大)元素,放到已排序的序列的末尾,直到排序完整个序列。
选择排序的主要步骤如下:
以下是一个使用C语言实现的选择排序算法的示例:
#include <stdio.h> void selectionSort(int arr[], int n) { int i, j, min_idx; // 一遍又一遍地遍历未排序的部分 for (i = 0; i < n - 1; i++) { // 找到最小元素的索引 min_idx = i; for (j = i + 1; j < n; j++) { if (arr[j] < arr[min_idx]) { min_idx = j; } } // 将找到的最小元素与第i个位置的元素交换 if (min_idx != i) { int temp = arr[i]; arr[i] = arr[min_idx]; arr[min_idx] = temp; } } } // 打印数组的函数 void printArray(int arr[], int size) { int i; for (i = 0; i < size; i++) { printf("%d ", arr[i]); } printf("\n"); } // 主函数来测试上面的代码 int main() { int arr[] = {64, 25, 12, 22, 11}; int n = sizeof(arr) / sizeof(arr[0]); selectionSort(arr, n); printf("Sorted array: \n"); printArray(arr, n); return 0; }
运行上述代码,将会得到已排序的数组:
Sorted array:
11 12 22 25 64
选择排序是一种简单直观的排序算法,易于实现,但时间复杂度较高,适用于数据量较小的场景。在实际应用中,应根据具体需求选择合适的排序算法。希望本文对您有所帮助。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。