如何用Python编写代码实现插入排序和冒泡排序算法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计601个文字,预计阅读时间需要3分钟。
插入排序和冒泡排序的概念我有点不理解呢。
插入排序代码:每次遍历,先假设前i个元素已经有序,然后将第i+1个元素插入到已有序的序列中,直到所有元素都插入完成。
冒泡排序的概念:通过重复遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
插入排序和冒泡排序的概念我就不解释了吧。。。插入排序代码:每次遍历,先假设list[min_index]处的值最小,再跟后面的值依次比较,当发现list[j]比list[min_i插入排序和冒泡排序的概念我就不解释了吧
。。。插入排序代码:
1 if __name__ ==‘__main__‘: 2 l = [4,1,9,13,34,26,10,7,4] 3 4 #=========================insert_sort========================= 5 def insert_sort(l): 6 for i in range(len(l)): 7 min_index = i 8 for j in range(i+1,len(l)): 9 if l[min_index] > l[j]:10 min_index = j11 tmp = l[i]12 l[i] = l[min_index]13 l[min_index] = tmp14 print(str(l))15 print("result: " + str(l))16 17 insert_sort(l)18 print("insert_sort success!!!")每次遍历,先假设list[min_index]处的值最小,再跟后面的值依次比较,当发现list[j]比list[min_index]值小时,这时的min_index替换为j,再跟后面的进行比较,指导找到最小的那个list[j],将j付给min_index,这时l[min_index]就是遍历过程中的最小值了,不知道说清楚了没~~
结果如下:
[1, 4, 9, 13, 34, 26, 10, 7, 4][1, 4, 9, 13, 34, 26, 10, 7, 4][1, 4, 4, 13, 34, 26, 10, 7, 9][1, 4, 4, 7, 34, 26, 10, 13, 9][1, 4, 4, 7, 9, 26, 10, 13, 34][1, 4, 4, 7, 9, 10, 26, 13, 34][1, 4, 4, 7, 9, 10, 13, 26, 34][1, 4, 4, 7, 9, 10, 13, 26, 34][1, 4, 4, 7, 9, 10, 13, 26, 34]result: [1, 4, 4, 7, 9, 10, 13, 26, 34]insert_sort success!!!下面再来看冒泡排序
1 #==========================bubble_sort======================== 2 3 def bubble_sort(l): 4 for i in range(len(l),0,-1): 5 for j in range(len(l)-1): 6 if l[j] > l[j+1]: 7 tmp = l[j] 8 l[j] = l[j+1] 9 l[j+1] = tmp10 11 print("result: " + str(l))12 13 bubble_sort(l)14 print("bubble_sort success!!!")不解释了。。
用python实现插入排序和冒泡排序
本文共计601个文字,预计阅读时间需要3分钟。
插入排序和冒泡排序的概念我有点不理解呢。
插入排序代码:每次遍历,先假设前i个元素已经有序,然后将第i+1个元素插入到已有序的序列中,直到所有元素都插入完成。
冒泡排序的概念:通过重复遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
插入排序和冒泡排序的概念我就不解释了吧。。。插入排序代码:每次遍历,先假设list[min_index]处的值最小,再跟后面的值依次比较,当发现list[j]比list[min_i插入排序和冒泡排序的概念我就不解释了吧
。。。插入排序代码:
1 if __name__ ==‘__main__‘: 2 l = [4,1,9,13,34,26,10,7,4] 3 4 #=========================insert_sort========================= 5 def insert_sort(l): 6 for i in range(len(l)): 7 min_index = i 8 for j in range(i+1,len(l)): 9 if l[min_index] > l[j]:10 min_index = j11 tmp = l[i]12 l[i] = l[min_index]13 l[min_index] = tmp14 print(str(l))15 print("result: " + str(l))16 17 insert_sort(l)18 print("insert_sort success!!!")每次遍历,先假设list[min_index]处的值最小,再跟后面的值依次比较,当发现list[j]比list[min_index]值小时,这时的min_index替换为j,再跟后面的进行比较,指导找到最小的那个list[j],将j付给min_index,这时l[min_index]就是遍历过程中的最小值了,不知道说清楚了没~~
结果如下:
[1, 4, 9, 13, 34, 26, 10, 7, 4][1, 4, 9, 13, 34, 26, 10, 7, 4][1, 4, 4, 13, 34, 26, 10, 7, 9][1, 4, 4, 7, 34, 26, 10, 13, 9][1, 4, 4, 7, 9, 26, 10, 13, 34][1, 4, 4, 7, 9, 10, 26, 13, 34][1, 4, 4, 7, 9, 10, 13, 26, 34][1, 4, 4, 7, 9, 10, 13, 26, 34][1, 4, 4, 7, 9, 10, 13, 26, 34]result: [1, 4, 4, 7, 9, 10, 13, 26, 34]insert_sort success!!!下面再来看冒泡排序
1 #==========================bubble_sort======================== 2 3 def bubble_sort(l): 4 for i in range(len(l),0,-1): 5 for j in range(len(l)-1): 6 if l[j] > l[j+1]: 7 tmp = l[j] 8 l[j] = l[j+1] 9 l[j+1] = tmp10 11 print("result: " + str(l))12 13 bubble_sort(l)14 print("bubble_sort success!!!")不解释了。。
用python实现插入排序和冒泡排序

