zoukankan      html  css  js  c++  java
  • c语言之排序

    常见排序手法:

    一冒泡排序:

    在数列中找最大值或者最小值依次排序。通过依次找到比当前在数组位置中值小的或者大的不断交换来实现的:

    1、后面如果有比第一个数字大的就和第一个交换

    2、后面如果有比第二个数字大的就和第二个交换

    3、···········

    [0]3          [1] 2        [2] 1       [3] 4         [4]5         [5]6

    [0] 1          [1] 2        [2] 3       [3] 4         [4]5         [5]6

    从小到大从大开始排序:

    假设有一个count(表示几位数)数的排序

    int  j , k , count , temp ;
    
    int array [];
    
    for (k = count - 2 ; k > 0 ; k --){
    
        for ( j = 0 ; j < k ; j ++ ){
    
            if ( array [ j ] > array [ j + 1 ] ){
    
                temp = array [ j ];
    
                array [ j ] = array [ j + 1 ];
    
                array [ j + 1 ] = temp ;
    
            }
    
        }
    
    }
    

      

    从小到大从小开始排序:

    假设有一个count(表示几位数)数的排序

    int  j , k,count,temp ;
    
    int array[];
    
    for( k = 0 ; k < count-1 ; k ++ ){
    
        for( j = k+1 ;j < count-1 ; j ++ ){
    
            if( array [ k ] > array [ j ] ){
           temp = array [ j ];
              array [ k ] = array [ j ];
    
              array [ j ] = Temp;
    
            }
    
        }
    
    }    
    

      

    二、选择排序

    依次在序列中找最小的然后交换

    [0]3          [1] 2        [2] 1       [3] 4         [4]5         [5]6

    [2] 3          [1] 2        [0] 1       [3] 4         [4]5         [5]6

    假设有一个count(表示几位数)数的排序

    int  i , j , k , min , temp ,count ;
    
    int array[];
    
    for(k = 0 ;k < count -1){
    
        min = k;
    
        for (i=k+1 ; i < count ; i ++ ){
    
            if(array [ min ] > array [ i ] )
    
            min = i ;
    
        }     //在函数中找最小值
    
        if ( min == k){
    
            temp = min ;
    
            min = k;
    
            K = temp ;
    
        }
    
    }
    

      

    学如逆水行舟,不进则退。 博客园技术交流群 群 号:1073255314 (本群没人,刚刚建立 -_-!!! )
  • 相关阅读:
    stress工具使用指南和结果分析
    copy.c实现
    sysbench测试阿里云CPU
    sysbench测试阿里云ECS云磁盘的IOPS,吞吐量
    iostat详解
    sysbench_fileio.sh
    rm -f /var/lib/rpm/__db*;rpm --rebuilddb
    HeadFirst 13 (包装器, 过滤器) not Finish
    基于Linux的oracle数据库管理 part5( linux启动关闭 自动启动关闭 oracle )
    基于Linux的oracle数据库管理 part4( shell管理 上 )
  • 原文地址:https://www.cnblogs.com/Mj-NaijAm/p/13600999.html
Copyright © 2011-2022 走看看