对模板堆类进行反向排序

Reverse Sort for a Templated Heap class

本文关键字:排序      更新时间:2023-10-16

我创建了一个模板堆类,并通过使用自定义迭代器类按升序对列表进行排序,我只是想知道如何按相反的顺序对其进行排序。

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;
            }
        }
    }
}

谢谢,Soz无法让代码插入工作。。。

修复了它,只是更改了

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

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