选择排序

思想

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;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 选择排序—简单选择排序 基本思想:在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下...
    Temple_Li阅读 256评论 0 0
  • 1、基本思想 每一趟从待排序的记录中选出最小的元素,顺序放在已排好序的序列最后,直到全部记录排序完毕。也就是:每一...
    Sopphire阅读 1,348评论 0 0
  • 经典排序算法 - 选择排序Selection sort 顾名思意,就是直接从待排序数组里选择一个最小(或最大)的数...
    LeafRead阅读 992评论 0 4
  • 文/栗栗树 (成人飘飘 原创 ) 「你以为那是真诚,我却觉得你没有那么爱我」 ...
    颜色君阅读 867评论 0 47
  • 文/清雅 乍暖还寒,竟也是春天。 静夜。窗外的风呼呼的刮,帘动风铃儿响。满屋子的百合香醺的人生出些许慵懒,静坐,翻...
    清雅怡然阅读 519评论 0 3