插队
提交数: 975, 通过率: 65.13%, 平均分: 65.44
题目描述:
有n个人,每个人都有自己的编号,他们排成一个队列。现在一个编号为b的人要插到第a人(不是编号为a)后面,求插入后的队列顺序。
输入格式:
第一行输入n,第二行输入n个数,表示原先的队伍顺序。
第三行输入两个数a,b。
输出格式:
输出一行,为插入后的队列顺序。
样例输入:
5 1 2 3 4 5 2 7
样例输出:
1 2 7 3 4 5
提示:
n<=200
n = int(input())
d = list(map(int, input().split()))
a, b = map(int, input().split())
-------------------------------------------------------------------------------------------------
下面的程序用链表实现,请完善程序:
n = int(input())
d = list(map(int, input().split()))
a, b = map(int, input().split())
L = [ ] # L为链表
for i in range( n ):
L.append( [ d[i], ________ ] ) #填空1
L[-1][1] = ________ #填空2
#print( L )
head = 0
cnt = 1
p = head
while cnt < a :
cnt += 1
p = L[p][1]
L.append( _____________ ) #填空3
L[p][1] = _____________ #填空4
#print( L )
p = head
while ____________: #填空5
print( L[p][0] , end =' ')
p = L[p][1]
时间限制: 1000ms空间限制: 256MB
来源: 原创