选择排序是重复进行「将数列中最小值,与左边的值对调」,一直保持由小到大的数列。
选择排序法使用线性搜寻(Linear Search),比较次数是
import random
#从1-100中随机读取9个数字
nums = random.sample(range(1,100), 9)
print(nums)
# nums = [60, 50, 44, 82, 55, 77]
# i控制j的上限值
for i in range(8, 0, -1):
#初始化变数0
max = 0
for j in range(1, i+1):
if nums[j] > nums[max]:
max = j
nums[i], nums[max] = nums[max], nums[i]
print("选择排序的执行结果:",9-i,"次")
for item in nums:
print(item,' ',end="")
输出结果:
[35, 77, 79, 23, 18, 92, 81, 90, 12]
选择排序的执行结果: 1 次
35 77 79 23 18 12 81 90 92
选择排序的执行结果: 2 次
35 77 79 23 18 12 81 90 92
选择排序的执行结果: 3 次
35 77 79 23 18 12 81 90 92
选择排序的执行结果: 4 次
35 77 12 23 18 79 81 90 92
选择排序的执行结果: 5 次
35 18 12 23 77 79 81 90 92
选择排序的执行结果: 6 次
23 18 12 35 77 79 81 90 92
选择排序的执行结果: 7 次
12 18 23 35 77 79 81 90 92
选择排序的执行结果: 8 次
12 18 23 35 77 79 81 90 92
线性搜寻是在阵列中搜寻数据的演算法,从阵列的前端开始依序查询数据。也可以说,用暴力搜寻的方式在寻找数据。由於线性搜寻是从头开始比较,当数据量大或资料在阵列的後方时,会耗费时间。当数据量为n时,执行时间是O(n^2)
def linearSearch(collection, t):
for e in collection:
if e == t:
return True
return False
<<: Spring Framework X Kotlin Day 5 JPA
Përshëndetje,我是Charlie! 在Day13当中我们完成了後端的购物车总商品显示、加...
-安全和隐私控制系列(来源:NIST SP 800-53 R5) .安全和隐私控制有效性解决了正确...
分享一下这30天从无到有的学习下来的一点点心得 先说一下为什麽要学习Rust是因为最近比较红之外还有...
按下Return键移动到下一个textfield栏位 步骤: 使用textfield的tag 使用U...