vlambda博客
学习文章列表

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])