2015-07-12 131 views
0

由于某些原因,cmd需要2分钟来运行一个18行python程序。我再次运行它,但它没有做任何事情。 谁能告诉我为什么这么长时间?cmd永远运行一个python程序

from array import * 

file = open("IntegerArray.txt" , "r") 

input_array = array('i') 

for line in file: 
    c = int(line) 
    input_array.append(c) 

top_array = input_array[:len(input_array)//2] 
bottom_array = input_array[len(input_array)//2:] 

inversion = 0 
max_index = len(top_array) 

for i in range(0, max_index): 
    for j in range(i + 1, max_index): 
     if top_array[i] > top_array[j]: 
      temp = top_array[i] 
      top_array[i] = top_array[j] 
      top_array[j] = temp 
      inversion = inversion + 1 
print "inversion = ", inversion 
+0

多大投入? – James

+0

大约50,000个数字 –

+1

您无法通过它的行数来真正判断程序的运行时间。你的代码有一个双重嵌套的循环,所以如果你的输入很大,你应该需要一段时间。 – James

回答

0

不相关的时间,但是你可以简化这个:

 temp = top_array[i] 
     top_array[i] = top_array[j] 
     top_array[j] = temp 

top_array[i], top_array[j] = top_array[j], top_array[i]