美文网首页
选择排序

选择排序

作者: lpworkstudy | 来源:发表于2017-09-15 23:14 被阅读0次

    思想

    n个元素中找出最小的元素,然后与第一个元素交换位置;固定第一个元素,从第二个元素开始找到次小元素,然后与第二个元素交换位置,以此类推,直到确定第n-1个位置的元素,排序结束。

    代码

    void selection_sort(int * a, int n)
    {
        int i,j;
        for(i = 0; i <= n-2; i++)
        {
            int min = i;
            for (j = i + 1;j <= n-1;j++)
                {if(a[min] > a[j])
                    min = j;}
            int temp;
            temp = a[i];
            a[i] = a[min];
            a[min] = temp;
        }
    }
    
    
    int main(void)
    {
        int a[] = {2,3,1,7,6,5,0};
        int length = sizeof(a) / sizeof(int);
        selection_sort(a,length);
        int i;
        for(i=0;i<length;i++)
            printf("%d ",a[i]);
        printf("\n");
        return 0;
    

    }

    相关文章

      网友评论

          本文标题:选择排序

          本文链接:https://www.haomeiwen.com/subject/ggnesxtx.html