随笔-0  评论-0  文章-24  trackbacks-0
      冒泡排序算法是一种流行的排序算法,它重复的交换相邻的两个反序元素。
      BUBBLESORT(A)
      for i <- 1 to length(A)
            do for j <- length[A] downto i + 1
                  do if A[j] > A[j - 1]
                        then exchange A[j] <-> A[j - 1]
 1/*
 2    名称:冒泡排序
 3    时间复杂度:O(n * n)
 4*/

 5#include <iostream>
 6#include <time.h>
 7#include <stdlib.h>
 8using namespace std;
 9void bubbleSort(int*int);
10int main(void)
11{
12    int n;
13    int *array;
14    srand(time(NULL));               /*void srand(unsigned seed);*/
15    while (true)
16    {
17        cin >> n;
18        array = new int[n];
19        /*随机生成数组*/
20        for (int i = 0; i < n; ++i)
21        {
22            array[i] = rand() % 100/*int rand(void);*/
23        }

24
25        /*排序前*/
26        for (int i = 0; i < n; ++i)
27        {
28            cout << array[i] << ' ';
29        }

30        cout << endl;
31
32        /*冒泡排序*/
33        bubbleSort(array, n);
34
35        /*排序后*/
36        for (int i = 0; i < n; ++i)
37        {
38            cout << array[i] << ' ';
39        }

40        cout << endl;
41
42        delete array;
43    }

44    return 0;
45}

46void bubbleSort(int* array, int length)
47{
48    for (int i = 0; i < length; ++i)
49    {
50        for (int j = length - 1; j > i; --j)
51        {
52            if (array[j] < array[j - 1])
53            {
54                int temp = array[j];
55                array[j] = array[j - 1];
56                array[j - 1= temp;
57            }

58        }

59    }

60}

61

posted on 2012-10-22 21:50 zhuxin 阅读(109) 评论(0)  编辑 收藏 引用 所属分类: 排序算法

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理