def ExSort(a[1..n]): # a[1..n] 为待排序数组
change1 = True
change2 = True
if n <= 0:
return Error
while change1 or change2:
change1 = False # 奇数趟扫描标志
for i in range(1, n, 2):
if a[i] > a[i+1]:
a[i], a[i+1] = a[i+1], a[i]
change1 = True
if not change1 and not change2:
break
change2 = False # 偶数趟扫描标志
for i in range(2, n, 2):
if a[i] > a[i+1]:
a[i], a[i+1] = a[i+1], a[i]
change2 = True