选择排序:每次从【未排序】中选取最小的元素放置到【已排序】的末尾
插入排序:每次从【未排序】中选取第一个元素放置到【已排序】的正确位置
交换排序:如果相邻的2个元素次序不对,则交换
如何写一个健壮的排序函数:
以STL的sort()为例:
template <class RandomAccessIterator>
void sort ( RandomAccessIterator first, RandomAccessIterator last );
template <class RandomAccessIterator, class Compare>
void sort ( RandomAccessIterator first, RandomAccessIterator last, Compare comp );
要点:
泛型编程,用template实现对不同类型key的排序
参数类型为RandomAccessIterator,随机读取
C++ concepts: RandomAccessIterator