PHP前端开发

python列表排序有哪些

百变鹏仔 3小时前 #Python
文章标签 有哪些
python列表排序:1、冒泡排序,是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来;2、插入排序,通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。

相关学习推荐:python教程

1、冒泡排序

冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。

立即学习“Python免费学习笔记(深入)”;

def bubble_sort(list):    n = len(list)    for i in range(n - 1):        for j in range( 0,n - 1 - i):            if list[j] > list[j + 1]:                list[j], list[j + 1] = list[j + 1], list[j]        # if list[i] > list[i + 1]:        #     list[i], list[i + 1] = list[i + 1], list[i]    print(list)list=[2,4,6,8,1,3,5,7,9]bubble_sort(list)#结果:[1,2,3,4,5,6,7,8,9]

2、插入排序

插入排序(Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,在从后向前的扫描过程中,需要把已排序元素逐步向后挪位,为最新元素提供插入空间。

def insertion_sort(list):  n = len(list)  for i in range(1, n):    for j in range(i, 0, -1):      if list[j] <p><strong>3、选择排序</strong></p><p>选择排序(Selection Sort )是一种简单直观的排序算法。它的工作原理如下:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后再从剩余未排序元素中继续寻找最小(大)元素。放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。</p><pre class="brush:php;toolbar:false">def selection_sort(list):    n = len(list)    for i in range(0, n -1):        min_index = i        for j in range(i + 1, n):            if list[min_index] &gt; list[j]:                min_index = j        if i != min_index:            list[min_index], list[i] = list[i], list[min_index]    print(list)selection_sort([5,9,6,42,9,4,66,2,3,0,1])#结果:0, 1, 2, 3, 4, 5, 6, 9, 9, 42, 66]

 总结:

import random# 随机生成1-1000之间无序序列整数数据def generator():    random_data = []    for i in range( 0, 10 ):        random_data.append( random.randint( 1, 1000 ) )    return random_data# 冒泡排序def bubble_sort(list):    # 序列长度    n = len( list )    for i in range( 0, n ):        for j in range( i , n ):            if list[i] &gt; list[j]:                list[i], list[j] = list[j], list[i]    return list # 选择排序def selection_sort(list):    n = len(list)    for i in range(0, n -1):        min_index = i        for j in range(i + 1, n):            if list[min_index] &gt; list[j]:                min_index = j        if i != min_index:            list[min_index], list[i] = list[i], list[min_index]    return list#插入排序def insertion_sort(list):  n = len(list)  for i in range(1, n):    for j in range(i, 0, -1):      if list[j] <blockquote><p>想了解更多编程学习,敬请关注<a href="https://www.php.cn/" target="_blank">php培训</a>栏目!<br></p></blockquote>