冒泡,选择,插入排序算法(python)

冒泡排序


nums = [45,35,20,1110,45,4558,55,66,100]
n = len(nums)

for i in range(n-1):
    for j in range(n-i-1):
        if nums[j]>nums[j+1]:
            nums[j+1],nums[j]=nums[j],nums[j+1]
print(nums)

输出结果为:

[20, 35, 45, 45, 55, 66, 100, 1110, 4558]

选择排序


nums = [45,35,20,10,45,48,55,66,100]

n = len(nums)

for i in range(n-1):
    for j in range(i,n):
        if nums[j]

输出结果为:

[10, 20, 35, 45, 45, 48, 55, 66, 100]

插入排序


nums = [45,35,20,10,45,48,55,66,100]

n = len(nums)

for i in range(1,n):
    for j in range(i):
        if i < n:      'i 长度小于列表长度'
            if nums[i]<=nums[j]:
                nums[i],nums[j]=nums[j],nums[i]
print(nums)

输出结果为:

[10, 20, 35, 45, 45, 48, 55, 66, 100]

升级版

class sort():
    def __init__(self,nums_list,len_nums):
        self.nums_list = nums_list
        self.len_nums = len_nums

    #冒泡排序
    def maopao_sort(self):
        for i in range(self.len_nums-1):
            for j in range(self.len_nums-i-1):
                if self.nums_list[j]>self.nums_list[j+1]:
                    self.nums_list[j],self.nums_list[j+1]=self.nums_list[j+1],self.nums_list[j]
        print( self.nums_list)


    #选择排序
    def xuanzei_sort(self):
        for i in range(self.len_nums-1):
            for j in range(i,self.len_nums):
                if self.nums_list[j]

显示结果为:

[11, 21, 22, 44, 77, 464, 555, 888, 55464, 848451]
[11, 21, 22, 44, 77, 464, 555, 888, 55464, 848451]
[11, 21, 22, 44, 77, 464, 555, 888, 55464, 848451]

你可能感兴趣的:(冒泡排序,选择排序,插入排序,python)