插入和shell排序
生活随笔
收集整理的這篇文章主要介紹了
插入和shell排序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
void insertSort(int a[], int n) {for (int i = 1; i < n; ++i) {//從第二個開始插入if (a[i] < a[i - 1]) {int t = a[i];int j = i;while (j>0 && a[j-1] > t) {a[j] = a[j-1];--j;}a[j] = t;}}
}void shellSort(int a[], int n) {for (int gap = n/2; gap >0; gap /=2) { for (int i = 0; i < gap; ++i) {for (int j = i + gap;j <n; j +=gap) {if (a[j] > a[j - gap]) {int t = a[j];int k = j;while (k >0 && a[k-gap] > t) {a[k] = a[k-gap];k -= gap;}a[k] = t;}}}}
}
代碼比較冗長,下面的http://blog.csdn.net/morewindows/article/details/6665714
有很簡潔的實現
總結
以上是生活随笔為你收集整理的插入和shell排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 内存重叠
- 下一篇: 二叉树的高度和节点数