2014-11-19 4 views
0

내가 그것을 실행하려고 할 때마다 내가 스위프트의 거품 정렬의 버전을 구현하기 위해 노력하고있어,하지만 다음과 같은 오류가 계속 :일반 스위프트 거품 정렬 오류

'T'는 'UINT8'로 변환되지 않습니다

경우 (목록 [i]를> 목록 [I + 1]) {

누군가가 무엇을 알고 있나요? 나는 아래 코드를 첨부했다 :

func valueSwap<T>(inout value1: T, inout value2: T) { 

    let oldValue1 = value1 
    value1 = value2 
    value2 = oldValue1 
} 

func bubblesort<T>(inout list:Array<T>) { 
    var swapped:Bool 
    do { 
     swapped = false 
     for i in 0...list.count - 2 { 
      if (list[i] > list[i+1]) { 
       valueSwap(&list[i], &list[i+1]) 
       swapped = true 
      } 
     } 
    } while swapped 
} 

나는 그것을 시험해 보았지만 작동하지 않는다. 어떤 아이디어? 감사!

답변

0

그냥 알아 냈어. 그 유형이 Comparable에 부합하는지 확인해야만했다.

func bubblesort<T: Comparable>(inout list:Array<T>)