2017-05-16 8 views
0

좀 정렬되지 않은 목록에 애니메이션 플롯을 만들어 거품 정렬을 시각화하려고했던의 변화 값을 유지 np.random.permutation(10)파이썬이 기능은 목록

가 자연스럽게 내가리스트에게 그것이 거품 정렬 기능 내에서 변경 것마다 추가 할 말 완전히 분류 될 때까지. 여기 instant은 분명히 잘하지 않은

[array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]), array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]), array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]), array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]), array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]), array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]), array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]), array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]), array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])] 

를 반환 코드를 문제는 생각입니다

def bubblesort(A): 
    instant = [] 

    for i in range(len(A)-1): 
    lindex=0 
    while lindex+1<len(A): 
     if A[lindex]> A[lindex+1]: 
     swap(A,lindex,lindex+1) 
     lindex+=1 
     else: 
     lindex+=1 

     instant.append(A) 
    return instant 

을합니다. 무엇이 잘못 되었습니까? 감사!

답변

1

A이 내부에서 작동되고 bubblesort이이 배열에 대한 참조 목록을 반환합니다. 현재 A을 확인하면 정렬됩니다.

if A[lindex]> A[lindex+1]: 
     swap(A,lindex,lindex+1) 

아무것도 변경하기 전에 복사본을 만드는

if A[lindex]> A[lindex+1]: 
     A = A.copy() 
     swap(A,lindex,lindex+1) 

에 변경, 정렬의 진행 상황을 표시해야합니다.