鱼C论坛

 找回密码
 立即注册
查看: 2593|回复: 2

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

[复制链接]
发表于 2013-12-10 13:10:36 | 显示全部楼层 |阅读模式
1鱼币
本帖最后由 ☆﹎尐の潴猪 于 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[MAXSIZE];
int length;
}SqList;

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

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

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-12-11 11:40:46 | 显示全部楼层
for(j=i-dk;j>0&<(L.r[0].key,L.r[j].key);j-=dk)
写的有问题啊是代码粘错了吗?
  j>0&<(L.r[0].key,L.r[j].key); 再看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-8 23:54:22 | 显示全部楼层
希尔排序?被你写的好乱,没注释,看不下去。
看这个吧:http://my.oschina.net/u/819106/blog/205475有几种常见排序算法,包括希尔排序。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 21:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表