#include<stdio.h> void show(int arr[], int length) { for(int i=0; i<length; i++) { printf("%d ", arr[i]); } printf("\n"); } void _swap(int *a, int *b) { int tmp = *a; *a = *b; *b = tmp; } void SelectSort(int arr[], int length) { size_t i,j; int min; for(i=0; i<length-1; i++) { //假设arr[i]为最小的数 min = arr[i]; //通过循环获取数组中剩余数中的最小数 for(j=i+1; j<length; j++) { if(min > arr[j]) { _swap(&min, &arr[j]); } } //将最小的数放到正确的位置 if(arr[i] != min) { _swap(&arr[i],&min); } } } int main() { int arr[10] = {2,1,5,4,3,9,8,7,6,0}; SelectSort(arr,10); show(arr, 10); return 0; }
时间: 2024-10-10 06:47:32