[基础算法复习]冒泡排序和选择排序

选择排序和冒泡排序很相似,时间复杂度相同,选择排序性能上要优于冒泡,一次选择过程中只交换一次,比较次数和冒泡相同。

冒泡排序:
int bubble_sort(int *array,int begin,int end)
{
    
if(array==NULL||begin>end) return 0;

    
int i,j;

    
for(i=end;i>begin;--i){
        
for(j=begin;j<i;++j){
            
if( array[j]>array[j+1] ){
                
int tmp = array[j];
                array[j] 
= array[j+1];
                array[j
+1= tmp;
            }
        }
    }

    
return 1;
}

选择排序:
int select_sort(int *array,int begin,int end) {

    
if(array==NULL||begin>end) return 0;

    
int i,j,largest,tmp;

    
for(i=end;i>begin;--i){

        largest 
= i;
        
for(j=begin;j<=i;++j){
            
if( array[largest]<array[j] )
                largest 
= j;
        }
        tmp 
= array[i];
        array[i] 
= array[largest];
        array[largest] 
= tmp;
    }

    
return 1;
}


posted on 2009-07-15 11:59 YZY 阅读(273) 评论(0)  编辑 收藏 引用 所属分类: Algorithm基础算法


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

<2009年7月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

统计

常用链接

留言簿(2)

随笔分类

随笔档案

搜索

积分与排名

最新评论

阅读排行榜