交换排序之冒泡排序

原创 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)

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

交换排序\冒泡排序.

  • 2013-04-05 17:56
  • 20KB
  • 下载

交换排序(冒泡排序、快速排序)

冒泡排序                               排序过程:      设数组长...

交换排序算法:冒泡排序-Bubble Sort

基本思想排序思想对n个记录的排序码序列进行n-1次扫描。每次扫描时,都从下到上对相邻的两个排序码进行比较,如果不符合由小到大的顺序,就将他们交换位置。 1. 经过第一次扫描,就能从n-1对相邻排序...

交换排序之冒泡排序

package cn.xingxing.datastructure.sort; import java.util.Scanner; /** * * * 冒泡排序(BubbleSort)的...

排序5:交换排序(冒泡排序)

插入排序概括起来,就是把序列分为有序与无序两部分,每趟排序从无序部分选取元素,并通过各种手段在有序部分寻找合适的插入位置,把该元素放进该位置,从而达到排序的目的。而接下来介绍的交换排序,则是通过元素间...

【交换排序】冒泡排序

冒泡排序(Bubble Sort)      冒泡排序是基于交换排序的一种排序,交换排序的基本思想,是两两比较待排序记录的关键字,一旦发现两个记录不满足次序要求时则进行交换,直到整个序列全部满足要求为...

交换排序(快速排序 冒泡排序)

1.快速排序:先从数列中取出一个数作为基准数;分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边;再对左右区间重复第二步,直到各区间只有一个数。   以一个数组作为示例,取区间第...

冒泡排序`交换排序·二分查找

public  class  ArrayTest { public static void main(String[] args) { int[] a = new int[] {1,2,3}; ...
  • dwldp
  • dwldp
  • 2015-05-18 10:14
  • 125

经典算法回顾:冒泡排序(又称交换排序)

a. 基本思想: 有 N个数字组成的无序数列S[n], 1.先比较s[0],s[1],如果 s[0]>s[1],则将s[0],s[1] 换位,也就是将大的数右移,否则直接进入2. 2.比较s...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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