冒泡排序是最基本的排序方式,很简单,容易理解,但算法的时间复杂度为O(N^2),适合于基数不大的排序。
下面的代码中bsort函数完成冒泡排序,数组下标从1开始。
1#include<stdio.h>
2#include<stdlib.h>
3#define LEN
4void swap(int *a, int *b)
5{
6 int t = *a;
7 *a = *b;
8 *b = t;
9}
10void 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}
20int 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
小鼠标 阅读(200)
评论(0) 编辑 收藏 引用 所属分类:
排序