美文网首页
冒泡排序 by Python

冒泡排序 by Python

作者: 慧鑫coming | 来源:发表于2019-01-30 22:08 被阅读0次

    最好时间复杂度:O(n)
    最坏时间复杂度:O(n²)
    平均时间复杂度:O(n²)
    空间复杂度:O(1)
    是否为稳定排序:Yes
    sort in place:Yes
    python实现:

    class Solution:
        def bubbleSort(self, nums):
            """
            :type nums: List[int]
            :rtype: void
            """
            if len(nums) <= 1:
                return
            # 标志,当某次冒泡没有交换操作时,数组已经有序,无需再进行比较和交换操作
            flag = False
            for i in range(0, len(nums)):
                for j in range(1, len(nums)-i):
                    if nums[j] < nums[j-1]:
                        nums[j], nums[j-1] = nums[j-1], nums[j]
                        flag = True
                if not flag:
                    break
            return
    if __name__ == "__main__":
        nums = [1,3,2,4,6,8,4,5,6,7]
        s = Solution()
        s.bubbleSort(nums)
        print(nums)
    

    相关文章

      网友评论

          本文标题:冒泡排序 by Python

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