A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 天下1083 中级黑马   /  2015-6-10 17:41  /  569 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

.冒泡排序:

        冒泡排序的的优点是好理解,稳定,再就是空间复杂度低,不需要额外开辟数组元素的临时保存控件,当然了,编写起来也容易。其算法很简单,就是比较数组相邻的两个值,把大的像泡泡一样“冒”到数组后面去,一共要执行N的平方除以2这么多次的比较和交换的操作(N为数组元素),其复杂度为Ο(n²),如图:

                                                              

冒泡排序是非常容易理解和实现,,以从小到大排序举例:

设数组长度为N。

1.比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个数据交换。

2.这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。

3.N=N-1,如果N不为0就重复前面二步,否则排序完成

[cpp] view plaincopy
main()  
{  
    int a[5];  
    int i;  
    int j;  
    int k;  
    int temp;  
    for(k=0;k<5;k++)  
        scanf("%d",&a[k]);  
    for (i=0;i<5;i++)  
        for (j=0;j<5-i;j++)  
        {  
            if (a[j]>a[j+1])  
            {  
                temp=a[j+1];  
                a[j+1]=a[j];  
                a[j]=temp;  
            }  
        }  
        for (i=0;i<5;i++)  
        {  
            printf("%d ",a[i]);  
        }  
}

1 个回复

倒序浏览
总结的不错
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马