当前位置: 首页 > 网站开发 > 正文

冒泡排序

1 星2 星3 星4 星5 星 (2 次投票, 评分: 5.00, 总分: 5)
Loading ... Loading ...
baidu_share
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// 将小元素冒泡到最前面,首先操作的是小元素  
void Bubble_Sort1(int array[] , int len)  
{  
    int i , j;  
    for(i = 0 ; i < len - 1 ; ++i)  
    {  
        for(j = i + 1 ; j < len ; ++j)  
        {  
            if(array[j] < array[i])  
                swap(array[i] , array[j] );   
        }  
    }  
}  
 
// 将最大的元素冒泡到最后面  
void Bubble_Sort2(int array[] , int len)  
{  
    int i , j;  
    for(i = 0 ; i < len ; ++i)      //注意和上面的算法对照此循环  
    {  
        for(j = 0 ; j < len - 1 - i ; ++j)  
        {  
            if(array[j] > array[j + 1])  
                swap(array[j] , array[j+1] );   
        }  
    }  
}  
 
// 双向冒泡  
void Bubble_Sort3(int array[] , int len)  
{  
    int left , right , i;  
    left = 0 , right = len - 1;  
 
    while(left < right)  
    {  
        for(i = left ; i < right ; ++i)       // 从左到右冒泡  
        {  
            if(array[i + 1] < array[i])  
                swap(array[i] , array[i+1]);  
        }  
        --right;  
        for(i = right ; i > left ; --i)       // 从右到左冒泡  
        {  
            if(array[i ] < array[i - 1])  
                swap(array[i] , array[i-1]);  
        }  
        ++left;  
    }  
}

本文固定链接: http://www.chepoo.com/bubble-sort.html | IT技术精华网

【上一篇】
【下一篇】

冒泡排序:等您坐沙发呢!

发表评论