ITPub博客

首页 > > > C语言-选择排序

C语言-选择排序

作者:dapan 时间:2018-12-05 10:54:56 0 删除 编辑

1.冒泡算法

简单定义:大数下沉,小数起泡


2.选择排序

每次把未查找部分的最小的数放在前面。

选择排序(从小到大)的基本思想是

首先,选出最小的数,放在第一个位置;然后,选出第二小的数,放在第二个位置;以此类推,直到所有的数从小到大排序。

在实现上,我们通常是先确定第i小的数所在的位置,然后,将其与第i个数进行交换。

选择排序


3.实例

题目描述
用选择法对10个整数从小到大排序。

输入
无

输出
排序好的10个整数

样例输入
4 85 3 234 45 345 345 122 30 12

样例输出
3 4 12 30 45 85 122 234 345 345



代码

/*************************************************************************
        > File Name: xuanze.c
        > Author: 
        > Mail: 
        > Created Time: Wed 05 Dec 2018 09:13:29 AM CST
 ************************************************************************/

#include<stdio.h>


void main(void)
{
    int array[10];
    //输入初始值
    for(int i=0;i<10;i++)
    {
        scanf("%d",&array[i]);
    }
    //一共循环10次
    for(int i = 0;i<10;i++)
    {
        //j =i 这个表示之跟自身和后面的比较,写成j = i+1更加好
        for(int j = i;j<10;j++)
        {
            //如果i位置的之比后面的值大,就交换,通过这样交换后,0-9依次增大
            int tmp = 0;
            //printf("%d %d\n",array[i],array[j]);
            if(array[i]>array[j])
            {
                tmp = array[i];
                array[i] = array[j];
                array[j] = tmp;
            }
        }
    }
    //输出结果
    for(int i = 0;i<10;i++)
    {
        printf("%d ",array[i]);
    }
    printf("\n");
}


欢迎关注微信公众号-嵌入式Linux

觉得不错,请帮忙转发,点赞,您的每一次支持,我都将铭记于心


原文作者:;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2020-08-07

  • 博文量
    4504
  • 访问量
    87278