1. 程式人生 > >練習三十九:數組插入排序

練習三十九:數組插入排序

練習 移動 span div for 找到 方法 code 有一個

數組序列的排序有內置方法,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]

練習三十九:數組插入排序