美文网首页数据结构
内排序3:泡排序

内排序3:泡排序

作者: 玲儿珑 | 来源:发表于2020-05-04 02:27 被阅读0次

泡排序也称为冒泡排序法起泡排序法
基本思想:第趟排序是从序列中前n-i+1个元素的第1个元素开始,相邻两个元素进行比较,若前者大于后者,两者交换位置,否则不交换。经过如此一趟排序,使得n-i+1个元素中值最大元素被安置在序列的第n-i+1个位置上。重复的执行若干趟,直到某一趟排序过程中不出现元素交换位置的动作,排序结束。
算法如下:

function bubbleSort(arr) {
    let n = arr.length
    let flag = 1
    let i = n-1, j
    while ( i>0 && flag==1 ) {
        flag = 0
        for ( j=0; j<i; j++) {
            if( arr[j] > arr[j+1] ){
                temp = arr[j]
                arr[j] = arr[j+1]
                arr[j+1] = temp
                flag = 1
            } 
        }
        i--
    }
    return arr
}

let arr = [5,3,8,1,9,2,7,4,6,10]
bubbleSort(arr)

性能:
时间复杂度:最好O(n),平均O(n2)。是稳定排序法。

相关文章

  • 内排序3:泡排序

    泡排序也称为冒泡排序法和起泡排序法。基本思想:第趟排序是从序列中前n-i+1个元素的第1个元素开始,相邻两个元素进...

  • 【数据结构】七大排序算法 - 冒泡、简单选择、直接插入、希尔、堆

    排序的相关概念 排序的分类 根据在排序过程中带排序的记录是否全部被放置在内存中,排序分为:内排序外排序 1.内排序...

  • 排序算法归类和实现

    1.排序算法的分类 内排序和外排序概念内排序:指在排序期间数据对象全部存放在内存的排序。外排序:指在排序期间全部对...

  • iOS算法总结-回顾

    根据将排序记录是否全部放置在内存中,将排序分为内排序和外排序,之前讲的都是内排序,这里总结一下,内排序分为四类:插...

  • 数据结构与算法 02:总概

    根据将排序记录是否全部放置在内存中,将排序分为内排序和外排序,之前讲的都是内排序,这里总结一下,内排序分为四类:插...

  • 排序算法

    1、概念 2、内排序与外排序 内排序是在排序整个过程中,待排序的所有记录全部被放置在内存中。外排序是由于排序的记录...

  • 排序算法整理

    排序算法总览 排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过...

  • 常用的排序

    排序分为内排序和外排序,区别在于: 内排序:在内存中进行的排序外排序:当参与排序的数据量特别大,一次不能全部读入内...

  • 排序算法讲解

    排序方法:排序主要包含内部排序和外部排序。内部排序(简称内排序),是指所有待排序内容都存储在内存的排序。外部排序(...

  • 算法—排序篇

    本文要点:冒泡排序、选择排序、插入排序、希尔排序、堆排序 排序的分类:内排序:是在排序整个过程中,待排序的所有记录...

网友评论

    本文标题:内排序3:泡排序

    本文链接:https://www.haomeiwen.com/subject/nqwsghtx.html