交换排序之冒泡排序

原创 2016年05月30日 14:27:46

交换排序

交换排序的基本思想是:两两比较待排序记录的关键字,发现记录的次序相即交换,直到没有反序的为止。应用中思想的排序算法有冒泡排序和快速排序。

冒泡排序

冒泡排序算法就是交换排序的一种直接的简单的应用。第一轮循环时,从一个元素开始,将第一个元素与第二个元素关键字比较,出现逆序则交换,然后比较第二个和第三个,。。。,依次下去,则第一轮循环可以将最大的数放到最后(假设正序)。第二轮循环针对剩下的n1个元素。

该算法的Java实现代如下

package com.lyn.thinkinginjava.chapter6;

public class BubbleSort {

    public static void main(String[]args){
        int[] A={1,3,4,2,6,9,8,5,7};
        bubbleSort(A);
        for(int i=0;i<A.length;i++){
            System.out.println(A[i]);
        }
    }

    public static void swap(int[] A, int i,int j){
        int temp=A[i];
        A[i]=A[j];
        A[j]=temp;
    }

    public static void bubbleSort(int[] A){
        int n=A.length;
        for(int i=0;i<n;i++){
            for(int j=i;j<n;j++){
                if(A[j]<A[i]){
                    swap(A,i,j);
                }
            }

        }
    }


}

冒泡排序算法的时间复杂度
n1+...+3+2+1=O(n2)

数据结构实验之排序二:交换排序

数据结构实验之排序二:交换排序 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 冒泡...
  • guoqingshuang
  • guoqingshuang
  • 2015年12月20日 18:55
  • 1700

数据结构-排序: 交换排序(冒泡排序法)

冒泡排序(Bubble Sorting)的基本思想是:设待排序n个元素存放在数组a[n]中,无序区范围初始为(a(0),a(1),a(2),...,a[n-1]),冒泡排序方法是在当前无序区内,从最上...
  • lanmao100
  • lanmao100
  • 2008年09月11日 22:29
  • 593

排序算法四:交换排序之冒泡排序

排序算法四:交换排序之冒泡排序声明:引用请注明出处http://blog.csdn.net/lg1259156776/引言在我的博文《“主宰世界”的10种算法短评》中给出的首个算法就是高效的排序算法。...
  • LG1259156776
  • LG1259156776
  • 2015年09月25日 11:31
  • 2944

【排序三】交换排序(冒泡排序&&快速排序)

【排序一】插入排序(直接插入排序&&希尔排序) 【排序二】选择排序(选择排序&&堆排序) 一、冒泡排序 1、基本思想     冒泡排序(Bubble Sort,台湾译为:泡沫排序或气泡排序)是一种简...
  • snow_5288
  • snow_5288
  • 2017年03月04日 21:45
  • 1975

排序高级之交换排序_冒泡排序

冒泡排序(Bubble Sort,台湾另外一种译名为:泡沫排序)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没...
  • u012959829
  • u012959829
  • 2015年01月06日 11:02
  • 885

经典算法之交换排序(冒泡排序、快速排序)

一、冒泡排序冒泡排序是一种交换排序,它的主要过程是: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。比较一趟之后,最后的元素应该会...
  • quhaoye
  • quhaoye
  • 2017年06月01日 16:33
  • 128

(一)交换排序:冒泡排序,快速排序

交换排序指当元素位置相反时则把两个元素交换一下.多次重复这样的步骤则可排好所有的序.冒泡排序和快速排序都属于交换排序.   冒泡排序 一讲到冒泡两字你就会想到水里早泡泡,当然我们要做个假设,就是最轻的...
  • weiwenhp
  • weiwenhp
  • 2013年02月26日 14:30
  • 6789

交换排序之--冒泡排序,快速排序

冒泡排序是一种很经典的排序方式了,当然他也是最简单的一种交换式排序,冒泡排序的思想很简单,从前面开始,每每两个数相比,如果前面的大于后面的则交换位置,知道最后一个数,这样一轮排序下来,最大的数就跑到了...
  • zcxwww
  • zcxwww
  • 2016年05月17日 18:57
  • 452

数据结构例程——交换排序之冒泡排序

本文是[数据结构基础系列(9):排序]中第4课时[交换排序之冒泡排序]的例程。冒泡排序#include #define MaxSize 20 typedef int KeyType; //定义...
  • sxhelijian
  • sxhelijian
  • 2015年11月30日 15:34
  • 2396

3399 数据结构实验之排序二:交换排序

数据结构实验之排序二:交换排序#include using namespace std; int a[100100]; int b[100100]; int cnta,cntb; ...
  • yue_luo_
  • yue_luo_
  • 2016年12月11日 21:52
  • 270
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:交换排序之冒泡排序
举报原因:
原因补充:

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