Python3 notes

简介: Python3 notes

Python 插入排序


插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。

实例

definsertionSort(arr):         foriinrange(1, len(arr)):             key = arr[i]             j = i-1        whilej >=0andkey < arr[j] :                  arr[j+1] = arr[j]                  j -= 1        arr[j+1] = key       arr = [12, 11, 13, 5, 6]insertionSort(arr)print("排序后的数组:")foriinrange(len(arr)):      print("%d" %arr[i])

执行以上代码输出结果为:

排序后的数组:

5

6

11

12

13


主函数迭代次数:数值个数n 0.5n(n + 1)。

"""插入排序

InsertionSort.py"""

# 一次往数组添加多个数字

def AppendNumbers(array):

   num = input('Numbers:(split by spaces)\t').split()

   for i in num:

       array.append(int(i))

   print('排序前数组:{}.'.format(array))

def InsertionSort(array):

   AppendNumbers(array)  # 添加

   list = []

   while True:

       for i in array:

           minimum = min(array)

           if i == minimum:

               list.append(i)

               array.remove(i)  # 删去最小值

       if array == []:

           break

   print('排序后数组:{}.'.format(list))

array = [6, 4, 45, -2, -1, 2, 4, 0, 1, 2, 3, 4, 5, 6, -4, -6,  7, 8, 8, 34, 0]

InsertionSort(array)


相关文章
|
机器学习/深度学习 人工智能 监控
|
Java Scala
Scala快速入门-8-特质
Scala和Java一样不允许类继承多个超类,特质解决这一局限性 类可以实现任意数量的特质 当将多个特质叠加在一起时,顺序很重要,其方法先被执行的特质排在更后面 Scala特质可以提供方法和字段的实现 特质要求实现它们的类具备特定的字段、方法或超类 特质可以同时拥有抽象方法和具体方法,而类可以实现多个特质
|
前端开发 中间件
挑战21天手写前端框架 day7 使用 Socket 实现 esbuild 的热加载服务 hmr
挑战21天手写前端框架 day7 使用 Socket 实现 esbuild 的热加载服务 hmr
667 0
挑战21天手写前端框架 day7 使用 Socket 实现 esbuild 的热加载服务 hmr
cxa
|
Sentinel
glom模块的使用(二)
上次我们说到golm的简单应用,glom模块的使用(一) 这次我们继续对glom的其他操作进行学习。 Literal 用法:class  glom.Literal(value) 这个方法的功能主要是添加自定义的键值。
cxa
1531 0
|
2天前
|
云安全 人工智能 安全
AI被攻击怎么办?
阿里云提供 AI 全栈安全能力,其中对网络攻击的主动识别、智能阻断与快速响应构成其核心防线,依托原生安全防护为客户筑牢免疫屏障。
|
12天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
6天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
473 199