- ·上一篇文章:求一个3*3矩阵主对角线元素之和。
- ·下一篇文章:将一个数组逆序输出。
有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。
#!/usr/bin/python
# -*- coding:
UTF-8 -*-if __name__ == '__main__':
# 方法一 : 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(raw_input("\n插入一个数字:
\n"))end = a[9]if number > end:
a[10] = numberelse:
for i in range(10):
if a[i] > number:
temp1 = a[i]a[i] = numberfor j in range(i + 1,11):
temp2 = a[j]a[j] = temp1temp1 = temp2breakprint '排序后列表:
'for i in range(11):
print a[i],
程序源代码:
实例(Python 2.0+)
#!/usr/bin/python
# -*- coding:
UTF-8 -*-if __name__ == '__main__':
# 方法一 : 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(raw_input("\n插入一个数字:
\n"))end = a[9]if number > end:
a[10] = numberelse:
for i in range(10):
if a[i] > number:
temp1 = a[i]a[i] = numberfor j in range(i + 1,11):
temp2 = a[j]a[j] = temp1temp1 = temp2breakprint '排序后列表:
'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
有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。