选择排序-c语言描述

选择排序分简单选择排序与堆排序两种,先介绍简单选择排序。
1.简单选择排序
在未排序的序列中找到最小(大)元素,存放到排序序列的起始位置,然后再在未排序的序列中找到最小(大)元素,然后再放到已排好序的序列后面......直到排序完成

#include <stdio.h>
#define M 5
int main()
{
    int i,j,min=0,temp=0;
    int a[M];
    printf("input 5 numbers:");
    for(i=0;i<M;i++)
        scanf("%d",&a[i]);
    
    for(i=0;i<M-1;i++)
   {
      min=i;
      for(j=i+1;j<M;j++)
        {
            if(a[min]>a[j]) min=j;//记录最小元素下标
        }
        temp=a[i];//一趟for循环后找到本轮最小值,交换
        a[i]=a[min];
        a[min]=temp;
    }
    

    for(i=0;i<M;i++)
      printf("%d,",a[i]);
    return 0;
  }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容