python数组插入排序编程实践练习三十九

Posted python视觉算法

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python数组插入排序编程实践练习三十九相关的知识,希望对你有一定的参考价值。


知识要点:数组的插入,内置方法python insert()列表添加。

问题:对已经排好序的数量增加新数据项,又要让新数据遵循原有的规律

思考: 已知有一个已经排好序的数组。插入一个新的数据项,要求按原来的规律将它插入数组中。 

思路:比较最后一个数与这个数的大小,然后依次往前比较,一直找到合适的位置插入,插入后,这个数之后的数,都往后移动一个位置。

 
   
   
 

  1. if __name__ == '__main__':

  2.    # 方法一

  3.    a = [1, 4, 6, 9, 13, 16, 19, 28, 40, 100, 0]

  4.    print('original list is:')

  5.    for i in range(len(a)):

  6.        print(a[i])

  7.    number = int(input("insert a new number:\n"))

  8.    end = a[9]

  9.    if number > end:

  10.        a[10] = number

  11.    else:

  12.        for i in range(10):

  13.            if a[i] > number:

  14.                temp1 = a[i]

  15.                a[i] = number

  16.                for j in range(i + 1, 11):

  17.                    temp2 = a[j]

  18.                    a[j] = temp1

  19.                    temp1 = temp2

  20.                break

  21.    for i in range(11):

  22.        print(a[i])



          

以上是关于python数组插入排序编程实践练习三十九的主要内容,如果未能解决你的问题,请参考以下文章

练习三十九:数组插入排序

插入排序

排序算法 #4 再讲插入排序

算法练习--直接插入排序希尔排序

Python编程入门与实践pdf电子版下载

Leetcode练习(Python):数组类:第57题:给出一个无重叠的 ,按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合