首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Python基础语法】选择 | 冒泡 | 插入排序

1、选择排序

选择排序就是比较当前数字,和他之后的所有数字,始终选择大的放在前面,这样所有位置都比较完毕以后,一串数字就会按照从大到小的顺序排列了

【示例】

#4 2 1 8 6

n = int(input())

arr = list(map(int, input().split()))

#arr = [int(x) for x in input().split()] #推导式

#选择排序

for i in range(n-1): #几轮

 for j in range(i+1, n): #每一轮比较的次数

     if arr[j] < arr[i]:

         arr[i], arr[j] = arr[j], arr[i]

#输出

print(*arr)

2、冒泡排序

冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有元素再需要交换,也就是说该数列已经排序完成。

【示例】

n = int(input())

arr = list(map(int, input().split()))

#arr = [int(x) for x in input().split()]

#冒泡排序

for i in range(n-1): #几轮

  flag = True#假设排序好

  for j in range(n-1-i): #每一轮冒泡

     if arr[j+1] < arr[j]:

         arr[j+1], arr[j] = arr[j], arr[j+1]

         flag = False

  if flag: break

#输出

print(*arr)

3、插入排序

插入排序是一种简单直观的排序算法,它的工作原理类似于我们排序扑克牌的方式。每次从无序部分取出一个元素,将其插入到有序部分的适当位置,直到所有元素都排好序为止。

【示例】

n = int(input())

arr = [int(x) for x in input().split()]

# 插入排序

for i in range(1,n):  # 几轮

  key = arr[i]

  j = i - 1

  while j >= 0 and arr[j] > key:

      arr[j+1] = arr[j]

      j -= 1

  arr[j+1] = key

# 输出

print(*arr)

相关精彩链接

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OfpnlAC9SRy51h8VZboU16-g0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券