选择排序

#include <stdio.h>
#define N 7
void chooseSort(int a[], int n);
void swap(int a[], int m, int n);
int main(void)
{
    int a[] = {1,4,8,3,5,7,2};
    int i;
    chooseSort(a,N);
    for(i=0;i<N;i++)
    {
        printf("a[%d]=%d\n",i,a[i]);
    }
    return 0;
}
void chooseSort(int a[], int n)
{
    int i;
    int j;
    int min;
    for(i=0;i<n-1;++i)
    {   
        min = i;
        for(j=i+1;j<n;++j)
        {
            if(a[j]<a[min]) 
            {
                min = j;
            }
        }

            if(min != i)
            {
                swap(a, min, i);
            }
    }
}
void swap(int a[], int m, int n)
{
    a[m] ^= a[n];
    a[n] ^= a[m];
    a[m] ^= a[n];   
}
posted @ 2016-03-10 19:53  岳麓丹枫  阅读(85)  评论(0编辑  收藏  举报