Python 排序

刚接触python的时候,不免会学到排序,比较麻烦,但基本每个语言都适用的便是冒泡排序。

冒泡排序

例如以下例题:

要完成以上的样例输出的话,首先想到的是冒泡排序,以下就是冒泡排序的代码演示:

n=int(input())
m=list(map(int,input().split()))
for i in range(0,n):
 for k in range(len(m)-1):
     for j in range(len(m)-k-1):
         if m[j]>m[j+1]:
             m[j],m[j+1]=m[j+1],m[j]
for i in range(len(m)):
 print(m[i],end=' ')

sort()排序

python中有sort()方法,也可以进行排序:

n=int(input())
m=list(map(int,input().split()))
m.sort()
for i in range(0,n):
    print(m[i],end=' ')

直接选择排序

直接选择排序是一种简单直观的算法,在排序过程中,所需移动记录的次数较少,比较适合数据规模小的情况。

基本思路:

 待排序数据中,选出最小(最大)的一个数与第一个位置的数交换

 然后在剩下的数中,再找最小(最大)的数与第二个位置的数交换位置

 依次类推,直到第n-1元素与第n个元素交换位置,选择排序结束。

以下就是代码演示:

n=int(input())
m=list(map(int,input().split()))
for i in range(0,n):
    for j in range(len(m)-1):
        min_index=j
        for k in range(j+1,len(m)):
            if m[min_index]>m[k]:
                min_index=k
        if min_index != j:
            m[min_index],m[j]=m[j],m[min_index]
for i in range(len(m)):
 print(m[i],end=' ')

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值