算法复习之冒泡排序

原创 2015年07月08日 21:07:05
#include <iostream>
//打印输出
void prin(int *list ,int len )
{
    for(int i = 0 ;i<len;++i)
        std::cout<<list[i]<<" "<<std::endl;
}
/*
*冒泡排序
*list 数组,len数组的长度
*/
void bubbleSort(int *list,int len)
{
    int i ,j ,temp = 0 ;
    for(i = 0 ;i<len-1 ;++i) //需要进行len-1轮
    {
        for(j = 0 ;j<len-1-i;++j)//每轮进行的比较次数
        {
            if(list[j] > list[j+1] )//比较相邻元素,如果list[j]>list[j+1]就交换
            {
                temp  = list[j] ;
                list[j] = list[j+1] ;
                list[j+1] = temp ;
            }//end if
        }//end for(j)
    }//end for(i)
    prin(list,len) ;
}
int main()
{
    int a[10] = {5,8,2,4,9,0,1,6,7,3} ;
    bubbleSort(a,sizeof(a)/sizeof(int)) ;
    system("pause") ;
    return 0 ;
}
数组a,长度为len = sizeof(a)/sizeof(int)。
需要进行len-1次冒泡过程,因为进行了len-1次冒泡,那么len-1个元素已经是有序的,那么最后一个元素也是有序的。
每次冒泡需要比较的次数,这个是变化的。因为每次冒泡过程中,其实已经将一个元素的需要确定,所以之后的冒泡就不要进行比较了。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

一步一步复习数据结构和算法基础-单链表冒泡排序

其实个人以为用单链表排序就是自己找麻烦,用数组排序多好啊, 但是转念一想,还是挑战一下自己吧,这个程序的声明和前几次的不同,但是仅仅是换汤不换药. 谨以此作为链表的练习吧. #include #...

java基本算法复习(一):冒泡排序

闲来无事决定复习一下java相关的基本算法. 冒泡排序: 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就...

冒泡排序算法

  • 2013年08月06日 21:35
  • 2KB
  • 下载

java算法 冒泡排序

  • 2013年11月21日 22:53
  • 1KB
  • 下载

[笔记]算法复习笔记---排序算法(桶排序、冒泡排序)

对于一个算法的性能来说,除了时间复杂度,还有空间复杂度,稳定性等一系列指标。我平常说的算法复杂度可分为两部分:时间复杂度和空间复杂度。从这两个维度综合分析,可以知道一个算法的好坏,然后才可以针对这个算...
  • Right_o
  • Right_o
  • 2017年03月19日 10:52
  • 129

冒泡排序算法

  • 2013年03月18日 12:01
  • 403B
  • 下载

冒泡排序的算法

  • 2017年03月11日 09:47
  • 15KB
  • 下载

算法复习--------------基本算法:顺序查找,选择排序,冒泡排序算法等简单算法

插入排序: 对一个数组进行插入排序,要做以下几点: 把一个元素为N的数组进行插入排序从第一个元素开始, 然后把第二个元素插入,形成一个大小为2的有序数组 .... 一直到N,形成一个大小为N...

冒泡排序的基本算法

  • 2011年11月28日 22:37
  • 642KB
  • 下载

冒泡排序算法

  • 2011年12月07日 20:48
  • 690B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:算法复习之冒泡排序
举报原因:
原因补充:

(最多只允许输入30个字)