选择排序

mac2025-03-21  14

#include"stdio.h" //找到最大值的位置,进行交换 int findMaxPos(int arr[],int n){ int max=arr[0]; int i; int pos=0; for(i=0;i<n;i++){ if(max<arr[i]) max=arr[i]; pos=i; } return pos; } void selectSort(int arr[],int n){ while(n>1){ //如果是一个数字,不需要选择排序,所以n>1 int pos=findMaxPos(arr,n); int temp=arr[pos]; arr[pos]=arr[n-1]; arr[n-1]=temp; n--; } } int main(){ int arr[]={2,6,8,4,9,1,0,5,7}; selectSort(arr,9); int i; for(i=0;i<9;i++){ printf("%d\n",arr[i]); } return 0; }

 

最新回复(0)