2020-08-20
python学习
00
请注意,本文编写于 1316 天前,最后修改于 399 天前,其中某些信息可能已经过时。

目录

1,交换排序--冒泡法
2,选择排序
简单选择排序
二元选择排序

1,交换排序--冒泡法

2,选择排序

简单选择排序

两两比较大小,找出极大值或极小值,然后将其放在固定的位置。 两个数从左到右,两两比较,记录较大值的索引。 第一轮下来,将本轮最大值和索引0的交换 第二轮,将本轮最大值和索引1交换(此时需要比较的次数-1次) 第N轮完成后,排序完成。 N为数字的个数。

m_list=[ [1,9,8,5,6,7,4,3,2], [1,2,3,4,5,6,7,8,9], [9,8,7,6,5,4,3,2,1] ] nums = m_list[0] length = len(nums) print(nums) count_swap = 0 count_iter = 0 for i in range(length): #i=0 maxindex=i #maxindex = 0 for j in range(i+1,length): #j in range[1,9) j =1 count_iter +=1 if nums[maxindex] < nums[j]: #muns[0] < num[1] 如果极大的值小于[j],则把j的值赋值给maxindex maxindex = j # maxindex = 1 if i != maxindex: #如果i的值不等于maxindex的值 ,将最大的id的值给指定的 id 。 tmp = nums[i] #tmp = nums[i] #print(nums[i]) nums[i]=nums[maxindex] # #print(nums[i]) #print(nums[maxindex]) nums[maxindex] =tmp count_swap +=1 print(nums,count_swap,count_iter)
[1, 9, 8, 5, 6, 7, 4, 3, 2] [9, 8, 7, 6, 5, 4, 3, 2, 1] 7 36
二元选择排序

本文作者:mykernel

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!