冒泡排序是最基本的排序方式,很简单,容易理解,但算法的时间复杂度为O(N^2),适合于基数不大的排序。
下面的代码中bsort函数完成冒泡排序,数组下标从1开始。


1
#include<stdio.h>
2
#include<stdlib.h>
3
#define LEN
4
void swap(int *a, int *b)
5

{
6
int t = *a;
7
*a = *b;
8
*b = t;
9
}
10
void bsort(int *a, int n)
11

{
12
int i, j;
13
for(j = n; j > 1; j--)
14
for(i = 1; i < j; i++)
15
{
16
if(a[i] > a[i + 1])
17
swap(&a[i], &a[i + 1]);
18
}
19
}
20
int main()
21

{
22
int i, j;
23
int a[LEN] =
{0, 1, 5, 95, 7, 3, 8, 0, 90, 25, 13};
24
int n = 10;
25
bsort(a, n);
26
27
for(i = 1; i <= n; i++)
28
printf("%3d", a[i]);
29
putchar(10);
30
system("pause");
31
}
32
posted on 2012-07-16 15:22
小鼠标 阅读(209)
评论(0) 编辑 收藏 引用 所属分类:
排序