您的位置:首页 > 其它

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

2014-03-23 12:24 441 查看
/**********************************************************************************************************         
* Function        : test         
* Create Date     : 2014/03/23        
* Author          : NTSK13         
* Email           : beijiwei@qq.com         
* Copyright       : 欢迎大家和我一起交流学习,转载请保持源文件的完整性。         
                             任何单位和个人不经本人允许不得用于商业用途         
                             转载请注明 转自 http://blog.csdn.net/beijiwei         
* Version          : V0.1           
* date             : 2014/03/23       
* history          : V0.1            
***********************************************************************************************************         
          
基础算法之排序(2)--选择排序 

基本思想: 对待排序的一组数据从前之后进行扫描,若发现相邻的两个数不同时,将这两个数进行交换.
		  升序和降序是同样道理
 假如待排序的一组数存于array
,则需要对数组进行N-1次扫描
 第1次扫描: 目标array[0] , 分别和array[1],array[2]...array
 进行对比,若比array[0]小,则交换.之后array[0]为最小值
 第2次扫描: 目标array[1] , 分别和array[2],array[3]...array
 进行对比,若比array[1]小,则交换.之后array[0]为次小值
   .
   .
   .
 第N-1次扫描: 目标array[N-2] , 和array[N-1] 进行对比,若比array[N-1]小,则交换.之后array[N-1]为最大值.
 结束.

**********************************************************************************************************/                  
#include<stdio.h>                 
                                
      
int main()                
{                
    int i=0,j=0,tmp=0,array[10]={2,5,6,8,4,3,1,7,9,0};  
    
	printf("Before sort, The element of array is: \n");  

	for(i=0;i<10;i++)
	{
		printf("%d \t",array[i]);  	
	}
/*********************************************************************************************************/
	for(i=0;i<9;i++)
	for(j=i;j<9;j++)
	{
		if(array[i]>array[j+1])
		{
			tmp=array[i];
			array[i]=array[j+1];
			array[j+1]=tmp;
		}
	
	}
  
/*********************************************************************************************************/
	printf("\n After sort, The element of array is: \n");  
	for(i=0;i<10;i++)
	{
		printf("%d \t",array[i]);  	
	}
  
	printf("\n");  	

    return 0;  
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: