選擇排序:每次從【未排序】中選取最小的元素放置到【已排序】的末尾
插入排序:每次從【未排序】中選取第一個(gè)元素放置到【已排序】的正確位置
交換排序:如果相鄰的2個(gè)元素次序不對,則交換
如何寫一個(gè)健壯的排序函數(shù):
以STL的sort()為例:
template <class RandomAccessIterator>
void sort ( RandomAccessIterator first, RandomAccessIterator last );
template <class RandomAccessIterator, class Compare>
void sort ( RandomAccessIterator first, RandomAccessIterator last, Compare comp );
要點(diǎn):
泛型編程净神,用template實(shí)現(xiàn)對不同類型key的排序
參數(shù)類型為RandomAccessIterator何吝,隨機(jī)讀取
C++ concepts: RandomAccessIterator