Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2350484
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:01:56

我也是个来鸟现在我把看得懂的给你说下
#include //这个是包含头文件学过c++都应该哈;
void ShellSort(int* pData,int Count)//这儿是对函数shellsort的定义,返回类型为空,包含了2个参数以个是指针data,一个是变量count。
{//这个{是 函数shellsort的开端
  int step[4]; //这定义了以个整形一维数组,
  step[0] = 9; /*这都是给数组赋值
  step[1] = 5;
  step[2] = 3;
  step[3] = 1; */

  int iTemp; //这是声明一个整形变量哈
  int k,s,w;
  for(int i=0;i<4;i++)
  {
    k = step[i];
    s = -k;
    for(int j=k;j    {
      iTemp = pData[j];
      w = j-k;
      if(s ==0)
      {
        s = -k;
        s++;
        pData[s] = iTemp;
      }
      while((iTemp=0) && (w<=Count))
      {
        pData[w+k] = pData[w];
        w = w-k;
      }
      pData[w+k] = iTemp;
    }
  }
}

void main()
{
  int data[] = {45,9,8,75,6,54,4,31,25,1,-10,-1}; //这也是声明一个数组,而且给数组赋值意思和上面的一样只是形式不同哈,还又这省略了一维数组的个数就看它又几个赋值就又几个元素哈。不说了我又急事不好意思哈,我哪说错了希望高手帮下忙改下
  ShellSort(data,12);
  for (int i=0;i<12;i++)
    cout<  cout<<"\n";


--------------------next---------------------

阅读(1107) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~