算法复习之冒泡排序

原创 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个元素已经是有序的,那么最后一个元素也是有序的。
每次冒泡需要比较的次数,这个是变化的。因为每次冒泡过程中,其实已经将一个元素的需要确定,所以之后的冒泡就不要进行比较了。
版权声明:本文为博主原创文章,未经博主允许不得转载。

8种经典算法之冒泡排序

冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交...
  • qq_31301099
  • qq_31301099
  • 2015年12月08日 21:48
  • 421

数据结构之排序算法(二)-冒泡排序及改进

冒泡排序算法需要遍历几次数组。每次遍历都要比较连续相邻的元素,如果某一对相邻元素是降序,则互换它们的值,否则,保持不变。由于较小的值像“气泡”一样逐渐浮想顶部,而较大的值沉向底部,所以叫冒泡排序。 ...
  • tuke_tuke
  • tuke_tuke
  • 2015年12月21日 15:10
  • 2141

排序算法之冒泡排序的思想以及Java实现

1 基本思想 设排序表长为n,从后向前或者从前向后两两比较相邻元素的值,如果两者的相对次序不对(A[i-1] > A[i]),则交换它们,其结果是将最小的元素交换到待排序序列的第一个位置,我们称它...
  • whq19890827
  • whq19890827
  • 2016年08月14日 21:12
  • 1543

啊哈算法 之 冒泡排序

算法介绍 冒泡算法1956年开始就有人开始研究,
  • wocacaaa
  • wocacaaa
  • 2014年10月20日 00:36
  • 661

算法复习--冒泡排序

算法思想就不多说了 static int[] BubbleAlg(int[] R){ int i =0,j=0,t=0; int n = R.length; t=R[0]; ...
  • Diaoliangwang
  • Diaoliangwang
  • 2014年08月10日 18:57
  • 377

冒泡排序算法及其优化

冒泡排序 1、介绍: 冒泡排序和选择排序的思想是蛮力法,冒泡,顾名思义,每次选择后面一个元素(最大或者最小)冒上来,从而得到一个有序的序列。比如对于序列:10、8、5、7、3、1的冒泡第一趟演示图示...
  • diaoaa
  • diaoaa
  • 2014年03月29日 13:20
  • 3222

数据结构与算法-----冒泡排序

冒泡排序 1)算法 A.比较相邻的元素,如果第一个比第二个大就交换它们; B.对每一对相邻的元素都做同样的工作,从开始的第一对到结尾的最后一对。经过这一步,最后的元素是最大值; C.针对所有的...
  • u010193457
  • u010193457
  • 2015年12月02日 16:10
  • 1990

算法代码实现之冒泡排序,Java实现

两种类似的方式: /** * 冒泡排序 * @author roc */ public class BubbleSort { //交换数组元素 private static ...
  • QQ245671051
  • QQ245671051
  • 2016年02月27日 20:45
  • 849

经典排序算法(1)——冒泡排序算法详解

冒泡排序(Bubble Sort)是一种典型的交换排序算法,通过交换数据元素的位置进行排序。 一、算法基本思想 (1)基本思想 冒泡排序的基本思想就是:从无序序列头部开始,进行两两比较,根据大...
  • guoweimelon
  • guoweimelon
  • 2016年03月16日 10:52
  • 20713

校招算法复习之冒泡排序

冒泡排序是指对一串数字进行排序,其中形象的表示是指这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。就是说最原始的冒泡排序是指从小到大排序(当然排序从小到大还是从大到小都没有关...
  • s695540301
  • s695540301
  • 2016年08月13日 16:21
  • 140
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:算法复习之冒泡排序
举报原因:
原因补充:

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