• 基础算法之排序(2)--选择排序


     1     /**********************************************************************************************************          
     2     * Function        : test          
     3     * Create Date     : 2014/03/23         
     4     * Author          : NTSK13          
     5     * Email           : beijiwei@qq.com          
     6     * Copyright       : 欢迎大家和我一起交流学习,转载请保持源文件的完整性。          
     7                                  任何单位和个人不经本人允许不得用于商业用途          
     8                                  转载请注明 转自 http://blog.csdn.net/beijiwei          
     9     * Version          : V0.1            
    10     * date             : 2014/03/23        
    11     * history          : V0.1             
    12     ***********************************************************************************************************          
    13                
    14     基础算法之排序(2)--选择排序  
    15      
    16     基本思想: 对待排序的一组数据从前之后进行扫描,若发现相邻的两个数不同时,将这两个数进行交换. 
    17               升序和降序是同样道理 
    18      假如待排序的一组数存于array[N],则需要对数组进行N-1次扫描 
    19      第1次扫描: 目标array[0] , 分别和array[1],array[2]...array[N] 进行对比,若比array[0]小,则交换.之后array[0]为最小值 
    20      第2次扫描: 目标array[1] , 分别和array[2],array[3]...array[N] 进行对比,若比array[1]小,则交换.之后array[0]为次小值 
    21        . 
    22        . 
    23        . 
    24      第N-1次扫描: 目标array[N-2] , 和array[N-1] 进行对比,若比array[N-1]小,则交换.之后array[N-1]为最大值. 
    25      结束. 
    26      
    27     **********************************************************************************************************/                    
    28     #include<stdio.h>                   
         
    31     int main()                  
    32     {                  
    33         int i=0,j=0,tmp=0,array[10]={2,5,6,8,4,3,1,7,9,0};    
    34           
    35         printf("Before sort, The element of array is: 
    ");    
    36       
    37         for(i=0;i<10;i++)  39             printf("%d 	",array[i]);     41     /*********************************************************************************************************/  
    42         for(i=0;i<9;i++)  
    43         for(j=i;j<9;j++)  
    44         {  
    45             if(array[i]>array[j+1])  
    46             {  
    47                 tmp=array[i];  
    48                 array[i]=array[j+1];  
    49                 array[j+1]=tmp;  
    50             }  
    51           
    52         }  
    53         
    54     /*********************************************************************************************************/  
    55         printf("
     After sort, The element of array is: 
    ");    
    56         for(i=0;i<10;i++)  58             printf("%d 	",array[i]);     60         
    61         printf("
    ");     
    62       
    63         return 0;    
    64     }    
  • 相关阅读:
    linux 系统中 获取环境变量、 获取环境变量+自定义变量
    即兴写作系统
    php 解决旧系统 查出所有数据分页的类
    面向过程与面向对象编程思想的区别
    c语言入门(一)c语言基础
    清数据库日志
    使用数据集时错误:超时时间已到。在操作完成之前超时时间已过或服务器未响应。
    数据库 可疑 解决方法
    [转].Net线程问题解答
    查询重复记录数
  • 原文地址:https://www.cnblogs.com/ntsk13/p/3701363.html
Copyright © 2020-2023  润新知