简单选择排序是一种简单直观的排序算法,其基本思想是在待排序的序列中,从第一个元素开始,依次与后面的元素比较,找到最小的元素,然后将其与当前位置的元素交换,重复这个过程,直到整个序列有序。
以下是用C语言实现简单选择排序算法的示例代码:
#include <stdio.h>
void selectionSort(int arr[], int n) {
int i, j, minIndex, temp;
for(i = 0; i < n-1; i++) {
minIndex = i; // 假设当前位置是最小元素的下标
for(j = i+1; j < n; j++) {
// 找到更小的元素,更新最小元素的下标
if(arr[j] < arr[minIndex])
minIndex = j;
}
// 将最小元素与当前位置元素交换
temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
int main() {
int arr[] = {64, 25, 12, 22, 11};
int n = sizeof(arr) / sizeof(arr[0]);
selectionSort(arr, n);
printf("排序后的数组:\n");
for(int i = 0; i < n; i++)
printf("%d ", arr[i]);
return 0;
}
运行以上代码,输出结果为:
排序后的数组:
11 12 22 25 64
这样就实现了简单选择排序算法。