简单选择排序

来源:互联网 发布:心经 张爱玲 知乎 编辑:程序博客网 时间:2024/05/17 04:49

简单选择排序原理是从每次排序都选择出剩余元素中最小或最大的,然后与前面的第一层循环i的当前位置元素进行交换,因此设置了一个min和minj变量来记录最小值和最小值的下标。

#include<stdio.h>void sel(int a[],int n){    int i,j,minj,min,temp;    for(i=0; i<n; i++)    {        min=a[i];        minj=i;        for(j=i; j<n; j++)        {            if(min>a[j])            {                min=a[j];                minj=j;            }        }        temp=a[i];        a[i]=min;        a[minj]=temp;    }}int main(){    int n,i;    int a[1000];    while(~scanf("%d",&n))    {        for(i=0; i<n; i++)        {            scanf("%d",&a[i]);        }        sel(a,n);        for(i=0; i<n; i++)        {            if(i<n-1)                printf("%d ",a[i]);            else                printf("%d \n",a[i]);        }    }    return 0;}
1 0
原创粉丝点击