• 选择排序


    #include <stdio.h>
    
    int main(int argc, const char * argv[])
    {
    
        int a[10];
        int i, j, k, m;    //循环变量,中间变量
        
        printf("请输入10个数字,数字之间用空格隔开!
    ");
        for (i=0; i<10; i++) {
            scanf("%d", &a[i]);
        }
        
        //选择排序的实现方法
        for (i=0; i<9; i++) {
            k = i;
            for (j=i+1; j<10; j++) {  //找出最小的数
                if (a[k]>a[j]) {
                    k = j;
                    
                    printf("第%d次遍历,找到的最小数:%d
    ",i+1, a[k]);
                }
            }
            
            printf("第%d次遍历交换位置前:
    ",i+1);
            int x;
            for (x=0; x<10; x++) {
                printf("%d ",a[x]);
            }
            printf("
    
    ");
            
            if (k!=i) {  //交换位置
                m = a[i];
                a[i] = a[k];
                a[k] = m;
            }
            
            printf("第%d次遍历交换位置后:
    ",i+1);
            for (x=0; x<10; x++) {
                printf("%d ",a[x]);
            }
            printf("
    
    ");
    
        }
        
        //输出结果
        printf("最终结果为:
    ");
        for (i=0; i<10; i++) {
            printf("%d ",a[i]);
        }
        printf("
    ");
        
        
        return 0;
    }

    请输入10个数字,数字之间用空格隔开!

    9 8 7 6 5 4 3 2 1 0

    1次遍历,找到的最小数:8

    1次遍历,找到的最小数:7

    1次遍历,找到的最小数:6

    1次遍历,找到的最小数:5

    1次遍历,找到的最小数:4

    1次遍历,找到的最小数:3

    1次遍历,找到的最小数:2

    1次遍历,找到的最小数:1

    1次遍历,找到的最小数:0

    1次遍历交换位置前:

    9 8 7 6 5 4 3 2 1 0 

    1次遍历交换位置后:

    0 8 7 6 5 4 3 2 1 9 

    2次遍历,找到的最小数:7

    2次遍历,找到的最小数:6

    2次遍历,找到的最小数:5

    2次遍历,找到的最小数:4

    2次遍历,找到的最小数:3

    2次遍历,找到的最小数:2

    2次遍历,找到的最小数:1

    2次遍历交换位置前:

    0 8 7 6 5 4 3 2 1 9 

    2次遍历交换位置后:

    0 1 7 6 5 4 3 2 8 9 

    3次遍历,找到的最小数:6

    3次遍历,找到的最小数:5

    3次遍历,找到的最小数:4

    3次遍历,找到的最小数:3

    3次遍历,找到的最小数:2

    3次遍历交换位置前:

    0 1 7 6 5 4 3 2 8 9 

    3次遍历交换位置后:

    0 1 2 6 5 4 3 7 8 9 

    4次遍历,找到的最小数:5

    4次遍历,找到的最小数:4

    4次遍历,找到的最小数:3

    4次遍历交换位置前:

    0 1 2 6 5 4 3 7 8 9 

    4次遍历交换位置后:

    0 1 2 3 5 4 6 7 8 9 

    5次遍历,找到的最小数:4

    5次遍历交换位置前:

    0 1 2 3 5 4 6 7 8 9 

    5次遍历交换位置后:

    0 1 2 3 4 5 6 7 8 9 

    6次遍历交换位置前:

    0 1 2 3 4 5 6 7 8 9 

    6次遍历交换位置后:

    0 1 2 3 4 5 6 7 8 9 

    7次遍历交换位置前:

    0 1 2 3 4 5 6 7 8 9 

    7次遍历交换位置后:

    0 1 2 3 4 5 6 7 8 9 

    8次遍历交换位置前:

    0 1 2 3 4 5 6 7 8 9 

    8次遍历交换位置后:

    0 1 2 3 4 5 6 7 8 9 

    9次遍历交换位置前:

    0 1 2 3 4 5 6 7 8 9 

    9次遍历交换位置后:

    0 1 2 3 4 5 6 7 8 9 

    最终结果为:

    0 1 2 3 4 5 6 7 8 9 

     

  • 相关阅读:
    (spring-第15回【IoC基础篇】)容器事件
    javascript笔记2-引用类型
    php namespace use 命名空间
    mysql性能优化(二)
    mysql常用命令
    关于有效的性能调优的一些建议[转]
    apache htaccess
    php 换行 空格分割处理
    一些比较好的博文
    php & 引用
  • 原文地址:https://www.cnblogs.com/hanjun/p/3247915.html
Copyright © 2020-2023  润新知