☆﹎尐の潴猪 发表于 2013-12-10 13:10:36

关于VC中的栈溢出 求解!!!!

本帖最后由 ☆﹎尐の潴猪 于 2013-12-11 10:01 编辑

#include <stdio.h>
#define LT(x,y)x>y?0:1
#define MAXSIZE 11
typedef int KeyType;

typedef struct {
KeyType key;
} RedType;

typedef struct{
RedType r;
int length;
}SqList;

void ShellInsert(SqList & L,int dk)
{
    int i,j;
    for(i=dk+1;i<=L.length;i++)
    if(LT(L.r.key,L.r.key))
      {
            L.r.key=L.r.key;
      for(j=i-dk;j>0&<(L.r.key,L.r.key);j-=dk)   //为什么我在调试的时候,这里的J会不满足J>0的条件?
            L.r.key=L.r.key;
      L.r.key=L.r.key;
      }
}//ShellInsert

int main()
{
        int i;
    int a={0,49,38,65,97,76,13,27,49,55,04};
    SqList L;
    L.length=MAXSIZE;
    for(i=1;i<MAXSIZE;i++)
      L.r.key=a;
       
    ShellInsert(L,L.length/2);
    for(i=1;i<MAXSIZE;i++)
      printf("%d ",L.r.key);
        printf("\n");
    ShellInsert(L,(L.length)/4+1);
    for(i=1;i<MAXSIZE;i++)
      printf("%d ",L.r.key);
    return 0;
}

思无邪 发表于 2013-12-11 11:40:46

for(j=i-dk;j>0&<(L.r.key,L.r.key);j-=dk)
写的有问题啊是代码粘错了吗?
j>0&<(L.r.key,L.r.key); 再看看

谭斌谭斌 发表于 2014-3-8 23:54:22

希尔排序?被你写的好乱,没注释,看不下去。
看这个吧:http://my.oschina.net/u/819106/blog/205475有几种常见排序算法,包括希尔排序。
页: [1]
查看完整版本: 关于VC中的栈溢出 求解!!!!