zoukankan      html  css  js  c++  java
  • 练习三十九:数组插入排序

    数组序列的排序有内置方法,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]
  • 相关阅读:
    使用weave管理docker网络
    为docker配置固定ip
    Building good docker images
    使用curl命令获取文件下载速度
    吐槽Java
    Kubernetes 中的服务发现与负载均衡(转)
    Kubernetes系列之介绍篇(转)
    top命令中的wa指标(转)
    uwsgi常用参数详解(转)
    Unix域套接字-Unix Domain Socket(转)
  • 原文地址:https://www.cnblogs.com/pinpin/p/10126090.html
Copyright © 2011-2022 走看看