Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3472676
  • 博文数量: 1450
  • 博客积分: 11163
  • 博客等级: 上将
  • 技术积分: 11101
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-25 14:40
文章分类

全部博文(1450)

文章存档

2017年(5)

2014年(2)

2013年(3)

2012年(35)

2011年(39)

2010年(88)

2009年(395)

2008年(382)

2007年(241)

2006年(246)

2005年(14)

分类: C/C++

2006-04-26 10:36:39

选择排序法的基本思想是,每次对无序区扫描一次都找出最大或最小的值,然后将最大或最小值与第一个元素交换,这时产生了两个区,无序区和有序区。经过N-1次排序后,最终完成排序。


算法:

void selectsort(int arr[], int N)
{
    int i,j,k;
   
    for(i=0; i < N-1; i++)
    {
        k = i;
        for(j=i+1; j < N; j++ )
        {
            if( arr[k] > arr[j])
                k = j;
        }
   
        if( k != i)
        {
            arr[i] = arr[i] ^ arr[k];
            arr[k] = arr[i] ^ arr[k];
            arr[i] = arr[i] ^ arr[k];
        }
    }
}
阅读(1101) | 评论(0) | 转发(0) |
0

上一篇:快速排序法

下一篇:选择排序法

给主人留下些什么吧!~~