Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8457
  • 博文数量: 7
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 80
  • 用 户 组: 普通用户
  • 注册时间: 2014-05-27 22:31
个人简介

风过竹林~那种感觉很神奇

文章分类

全部博文(7)

文章存档

2015年(3)

2014年(4)

我的朋友
最近访客

分类: C/C++

2015-01-08 18:33:44

算法系列--排序算法之希尔排序

点击(此处)折叠或打开

  1. // mySort.cpp : 定义控制台应用程序的入口点。
  2. //shellSort 使用增量来增加排序效率

  3. #include "stdafx.h"
  4. #include <vector>
  5. #include <iostream>
  6. #define random(x) (rand()%100)

  7. using namespace std;

  8. template <typename T>
  9. void shellSort( vector<T>& vec)
  10. {
  11.     int gap = vec.size()/2;
  12.     for (; gap > 0; gap = gap/2)
  13.     {
  14.         for (int i = gap; i < vec.size(); i++)
  15.         {
  16.             T temp = vec[i];
  17.             int j = i;
  18.             for (; j >= gap && temp < vec[j - gap] ; j = j - gap)
  19.             {
  20.                 vec[j] = vec[j-gap]
  21.             }
  22.             vec[j] = temp;
  23.         }
  24.     }
  25. }

  26. int _tmain(int argc, _TCHAR* argv[])
  27. {
  28.     vector<int> vecInt ;
  29.     for (int i = 0; i < 10; i++)
  30.     {
  31.         vecInt.push_back( random(100));
  32.         cout<< vecInt[i] <<" ";
  33.     }
  34.     cout <<endl;
  35.     shellSort(vecInt);
  36.     for (int i = 0; i < 10; i++)
  37.     {
  38.         cout<< vecInt[i] <<" ";
  39.     }
  40.     cout<<endl;
  41.     return 0;
  42. }

阅读(89) | 评论(0) | 转发(0) |
0

上一篇:数据结构之二叉树

下一篇:没有了

给主人留下些什么吧!~~