C++shell排序(附完整源码)
生活随笔
收集整理的這篇文章主要介紹了
C++shell排序(附完整源码)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
C++shell排序
- shell排序
- shell排序代碼
- 性能
shell排序
shell排序在不相鄰的元素之間比較和交換。利用了插入排序的最佳時(shí)間代價(jià)特性,它試圖將待排序序列變成基本有序的,然后再用插入排序來(lái)完成排序工作
在執(zhí)行每一次循環(huán)時(shí),Shell排序把序列分為互不相連的子序列,并使各個(gè)子序列中的元素在整個(gè)數(shù)組中的間距相同,每個(gè)子序列用插入排序進(jìn)行排序。每次循環(huán)增量是前一次循環(huán)的1/2,子序列元素是前一次循環(huán)的2倍
最后一輪將是一次“正常的”插入排序(即對(duì)包含所有元素的序列進(jìn)行插入排序)
shell排序代碼
const int INCRGAP = 3;template<class Elem>總結(jié)
以上是生活随笔為你收集整理的C++shell排序(附完整源码)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 怎么攒钱最有效 首先这些得想好
- 下一篇: c++快速排序(附完整源码)