Chinaunix首页 | 论坛 | 博客
  • 博客访问: 542831
  • 博文数量: 78
  • 博客积分: 1913
  • 博客等级: 上尉
  • 技术积分: 829
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-14 21:29
文章分类

全部博文(78)

文章存档

2011年(27)

2010年(26)

2009年(20)

2008年(5)

我的朋友

分类: C/C++

2010-07-23 16:33:15


void bubbleSort(int *array, int capacity)
{
    int last = capacity;
    int j, tmp;
    while (0 < last)
    {
        tmp = last;
        for (last = j = 0; j < tmp; j++)
        {
            if (array[j] > array[j + 1])
            {
                array[j] ^= array[j + 1];
                array[j + 1] ^= array[j];
                array[j] ^= array[j + 1];

                last = j;
            }
        }
    }
}


关键点在于记录元素的交换位置。bubble sort是一种稳定(相同关键字元素不会发生交换)的排序算法,但是速度很慢。

阅读(699) | 评论(2) | 转发(0) |
0

上一篇: 配置节错误 原因

下一篇:Paypal 开发(一)

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

chinaunix网友2010-07-27 09:49:35

改进不是很大啊,不知道有多大影响。1.swap的方法。2.下一个待排序数组长度的确定。

chinaunix网友2010-07-24 22:15:48

没看出来有什么改进……