| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 812 人关注过本帖
标题:求助 程序中止 无法执行
取消只看楼主 加入收藏
guyanjianghu
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2007-3-27
收藏
 问题点数:0 回复次数:2 
求助 程序中止 无法执行
这是一个求两个有序链表合并为第三个有序链表的主程序部分,我把合并程序放在主程序中。每次执行程序到合并程序时,就无法向下进行,如去掉它,则可以顺利执行到最后。请问这是什么原因引起的?
void main(){
         data La(100);
    data Lb(100);
    data Lc(100);
    La.listcreate();//按从小到大的顺序输入La的值
    Lb.listcreate();//按从小到大的顺序输入Lb的值

//------------------------------
    //La与Lb按照顺序合并成Lc
    int i=0;
    int j=0;
    int k=0;
    while((i<=La.length )&&(j<=Lb.length)){
        if (Lc.length>=Lc.listsize)
        {
            Lc.elem=(int *)realloc(Lc.elem,(Lc.listsize+LISTINCREMENT)*LEN);
            if(! Lc.elem)
                cout<<"OVERFLOW"<<endl;
            Lc.listsize+=LISTINCREMENT;
        }
        if(La.elem[i]<=Lb.elem[j]){
            Lc.elem[k]=La.elem[i];
            ++k;
            ++i;
            Lc.length=k;
        }
        else {
            Lc.elem[k]=Lb.elem[j];
            ++k;  
            ++j;
            Lc.length=k;
        }
    }
    while (i<La.length){
        if (Lc.length>=Lc.listsize)
        {
            Lc.elem=(int *)realloc(Lc.elem,(Lc.listsize+LISTINCREMENT)*LEN);
            if(! Lc.elem)
                cout<<"OVERFLOW"<<endl;
            Lc.listsize+=LISTINCREMENT;
        }
        Lc.elem[k]=La.elem[i];
        i++;
        ++k;
        Lc.length=k;
    }
    while(j<=Lb.length){  
        if (Lc.length>=Lc.listsize)
        {
            Lc.elem=(int *)realloc(Lc.elem,(Lc.listsize+LISTINCREMENT)*LEN);
            if(! Lc.elem)
                cout<<"OVERFLOW"<<endl;
            Lc.listsize+=LISTINCREMENT;
        }
        Lc.elem[k]=Lb.elem[j];
        i++;
        ++k;
        Lc.length=k;
        
    }
//--------------------------
Lc.output();//显示合并后Lc的结果
搜索更多相关主题的帖子: 主程序 
2008-09-23 18:52
guyanjianghu
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2007-3-27
收藏
得分:0 
你的具体错误信息是什么?请写出来!

2008-09-24 10:46
guyanjianghu
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2007-3-27
收藏
得分:0 
我的问题已经解决,把最后一个程序中的i++改成j++即可顺利运行。

2008-09-24 12:22
快速回复:求助 程序中止 无法执行
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019059 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved