Chinaunix首页 | 论坛 | 博客
  • 博客访问: 146497
  • 博文数量: 28
  • 博客积分: 1646
  • 博客等级: 上尉
  • 技术积分: 405
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-12 14:28
文章分类

全部博文(28)

文章存档

2013年(28)

我的朋友

分类: C/C++

2013-03-13 11:55:55


冒泡排序基本思想:交换排序的一种,对待排序元素两两比较,如果顺序不一致,则交换元素,一趟排序好,最小元素就位。然后对剩余元素重复这个过程,直到全部元素就绪。可以通过设置交换标志进行优化,避免多余的交换过程。

点击(此处)折叠或打开

  1. inline int swap(int *a, int *b){
  2.     int tmp = *a;
  3.     *a = *b;
  4.     *b = tmp;
  5. }

  6. void bubble_sort(int a[], int n)
  7. {
  8.     int i, j;

  9.     for (i=0; i<n-1; i++){
  10.         for (j=n-1; j>i; j--){
  11.             if (a[j] < a[j-1]){
  12.                 swap(&a[j], &a[j-1]);
  13.             }
  14.         }
  15.     }

  16. }

阅读(1718) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~