Python 練習例39
問題:ソート済みの配列があります。今、1つの数値を入力して、元の規則に従ってそれを配列に挿入します。
プログラム分析:まず、この数が最後の数より大きいかどうかを判断し、次に中央の数に挿入する場合を考えます。挿入後、この要素より後ろの数は順に1つ後ろへ移動します。
プログラムのソースコード:
例(Python 2.0+)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
if __name__ == '__main__':
# 方法1 : 0 を挿入する数字のプレースホルダーとして使用
a = [1,4,6,9,13,16,19,28,40,100,0]
print ('元のリスト:')
for i in range(len(a)):
print (a[i])
number = int(input("\n数字を挿入:\n"))
end = a[9]
if number > end:
a[10] = number
else:
for i in range(10):
if a[i] > number:
temp1 = a[i]
a[i] = number
for j in range(i + 1,11):
temp2 = a[j]
a[j] = temp1
temp1 = temp2
break
print ('ソート後のリスト:')
for i in range(11):
print (a[i])
上記の例の出力結果:
原始列表: 1 4 6 9 13 16 19 28 40 100 0 插入一个数字: 7 排序后列表: 1 4 6 7 9 13 16 19 28 40 100その他の拡張