简单选择排序(C语言)

思路分析
以第一个数作为标准,与数组中的全部数字比较,找出最小的那个,与第一个交换,这样第一个数就是最小的数。再以第二个数作为标准,从第二个数开始寻找最小的数,找到之后与第二个数交换,以此类推。

#include<stdio.h>
void Sort(int *a,int n)
{   int temp,min;
 for(int i=0;i<4;i++)
 {
    min=i;        //标记,假设最小元素的下标
  for(int j=i+1;j<5;j++)   
  if(a[j]<a[min])
   min=j;           //找出最小的下标
  if(i!=min)          //若数组中有比刚开始假设的最小元素还小,用最小的下标对应数值与 开始标记的值进行交换
  {
  temp=a[i];
  a[i]=a[min];
  a[min]=temp;
  }
 }
}
int main()
{  
 int a[5]={5,9,6,8,4};
 Sort(a,5);
 for(int k=0;k<5;k++)
  printf("%d ",a[k]);
 return 0;
}
发布了36 篇原创文章 · 获赞 5 · 访问量 1003

猜你喜欢

转载自blog.csdn.net/matchless_QYW/article/details/104628972
今日推荐