2016-05-18 27 views
0

我已經創建了一個模板堆類,並設法通過使用自定義迭代器類以升序對列表進行排序,我只是想知道如何以相反的順序對它進行排序。爲模板堆類反向排序

template <typename T> 
inline void Heap<T>::sort_heap(DynamicArrayIter<T> first, DynamicArrayIter<T> second) { 
    int size = 0; 
    for (DynamicArrayIter<T> iter = first; iter != second; ++iter) { 
     size++; 
    } 
    T temp; 
    for (int i = 0; i < size; i++) { 
     for (int j = 0; j < size - 1; j++) { 
      if (contents.at(j) < contents.at(i)) { 
       temp = contents.at(i); 
       contents.at(i) = contents.at(j); 
       contents.at(j) = temp; 
      } 
     } 
    } 
} 

感謝,索茲無法獲取代碼插入到工作...

回答

-1

固定它,只是改變了

if (contents.at(j) < contents.at(i)) 

if (contents.at(j) > contents.at(i))