美文网首页数据结构
内排序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:泡排序

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