2014-04-30 4 views
0

알고리즘을 배우고 있습니다. 오늘 삽입 정렬을 구현했습니다. 내부 인쇄 문이 왜 작동하지 않는지 나는 모른다. 알고리즘은 올바르게 작동하지만. 인쇄 문내부 인쇄 명령문이 작동하지 않습니다.

def insertionSort(array): 
    if len(array) > 1: 
     for j in range(1, len(array)): 
      print "outer j is: "+ str(j) 
      while j > 0 and array[j-1] > array[j]: 
       array[j-1], array[j] = array[j], array[j-1] 
       j = j - 1 
       print "inner j is: "+ str(j) 
     return array 
    else: 
     return array 

모두이 코드에서 작동 :

def forWhile(): 
    for i in range(1,10): 
     print "outer loop i is:" + str(i) 
     while i > 0: 
      i = i - 1 
      print "inner loop i is " + stri(i) 

나는 8 시간 자고 다시 지금은 내부 루프 작업을했다.

나는 잘 모른다.

답변

2

코드가 작동합니다.

>>> insertionSort([3,4,5,6,1,2]) 
outer j is: 1 
outer j is: 2 
outer j is: 3 
outer j is: 4 
inner j is: 3 
inner j is: 2 
inner j is: 1 
inner j is: 0 
outer j is: 5 
inner j is: 4 
inner j is: 3 
inner j is: 2 
inner j is: 1 
[1, 2, 3, 4, 5, 6] 

아마도 입력 된 배열을 사용하고 있으므로 내부 루프를 입력 할 필요가 없습니다.

>>> insertionSort([1,2,3,4]) 
outer j is: 1 
outer j is: 2 
outer j is: 3 
[1, 2, 3, 4] 
+0

나는 이것을 확인한다. –

+0

또한 – Atav32

+0

여기에서 영업하고 있습니다. 나는 8 시간 동안 잤다가 돌아와서 이제 작동한다. – user2415706

관련 문제