码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-12-16 12:23:44      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:insert   考过   位置   color   习题   app   三十九   else   数组   

数组序列的排序有内置方法,insert(),但是要对已经排序好的数组进行插入排序时,让插入的数据满足原有排序怎么操作,先看习题
已知有一个已经排序好的数组,要求是,将一个新的数据项插入到数组中
思考过程;
先判断原数组的排序方法,然后按照排序方法,将新数据与数据中最后一个数据进行比较,然后找到插入位置后,将数据依次向后移动一个位置

  1 # a = [1,3,4,6,8,12,13]
  2 a = [8,5,4,1]
  3 
  4 flag = 1
  5 for i in range(len(a)):
  6     for j in range(i,len(a)):
  7         if a[i]>a[j]:
  8             flag = 1
  9         elif  a[i]<a[j]:
 10             flag = 0
 11 print(a)
 12 nnum = int(input(输入要插入的数据:‘))
 13 if flag == 0:
 14     if a[0] >= nnum:
 15         a.insert(0,nnum)
 16     elif nnum > a[0] and nnum < a[-1]:
 17         for i in range(len(a)):
 18             if a[i] < nnum and a[i+1] >= nnum:
 19                 a.insert(i+1,nnum)
 20                 break
 21     else:
 22         a.append(nnum)
 23 if flag == 1:
 24     if a[-1] >= nnum:
 25         a.append(nnum)
 26     elif nnum < a[0] and nnum > a[-1]:
 27         for i in range(len(a)):
 28             if a[i] > nnum and a[i+1] <= nnum:
 29                 a.insert(i+1,nnum)
 30                 break
 31     else:
 32         a.insert(0,nnum)
 33 print(a)
执行结果:

  1 [8, 5, 4, 1]
  2 输入要插入的数据:0
  3 [8, 5, 4, 1, 0]

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

标签:insert   考过   位置   color   习题   app   三十九   else   数组   

原文地址:https://www.cnblogs.com/pinpin/p/10126090.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!