| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1122 人关注过本帖
标题:初学者的低级问题
只看楼主 加入收藏
leon57
Rank: 1
来 自:xznu
等 级:新手上路
帖 子:29
专家分:0
注 册:2008-7-19
收藏
 问题点数:0 回复次数:8 
初学者的低级问题
void MergeList(List LA,List LB,List &LC)
{//已知线性表LA和LB中的数据元素按值非递减排列.
    //归并LA和LB得到新的线性表LC,LC的也按值非递减排列.
    InitList(LC);   //构造一个空的线性表LC
    i=j=1;k=0;      //指针i和j的初始值为1
    LA_len=ListLength(LA);
    LB_len=ListLength(LB);
    while((i<=LA_len)&&(j<=LA_len))
    {
        GetElem(LA,i,ai);GetElem(LB,j,bj);
        if(ai<=bj)//将LA中的元素插入到表LC中
        {ListInsert(LC,++k,ai);++i;}
        else {ListInsert(LC,++k,bj);++j;}
        while(i<=LA_len)//如果表LA没有取完,则将表LA中的所剩元素插到表LC中
        {GetElem(LA,i++,ai);ListInsert(LC,++k,ai);}
        while(j<=LB_len)
        {GetElem(LB,j++,bj);ListInsert(LC,++k,bj);}

    }//MergeList

里面的ListInsert函数里为什么用++k,我怎么感觉是k++,
搜索更多相关主题的帖子: 线性表 元素 
2008-09-10 21:29
迷_茫
Rank: 1
等 级:新手上路
威 望:1
帖 子:10
专家分:0
注 册:2008-9-9
收藏
得分:0 
K++是先使用后自增,++K是先自增后使用~~~
个人观点,经供参考~~~
2008-09-10 21:37
leon57
Rank: 1
来 自:xznu
等 级:新手上路
帖 子:29
专家分:0
注 册:2008-7-19
收藏
得分:0 
这个我知道,但是我总感觉是++K,因为在第一次循环中K就加1了,怎么感觉不对
2008-09-10 21:46
maiiho
Rank: 1
等 级:新手上路
帖 子:94
专家分:7
注 册:2008-7-17
收藏
得分:0 
其实我在看的时候我也用你这样的疑问
不过老师都这么讲了,虽然不懂,但还有什么办法?
赶紧想想怎么回事,有答案了顺便告诉我一下
2008-09-11 08:42
missiyou
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:531
专家分:218
注 册:2007-10-9
收藏
得分:0 
主要是为了配合,while大法。
2008-09-11 18:56
missiyou
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:531
专家分:218
注 册:2007-10-9
收藏
得分:0 
在程序里,函数参数。是这样的。 push s1 push s2  pop s2 pop s1  也就是在调用是,例如,push s1 pop s1 然后在s1=s1+1; 在入栈的。
晕,太啰嗦的吧
其实,换一下就行了,
while(j<=LB_len)
        {GetElem(LB,j,bj);++k;ListInsert(LC,k,bj);j++;}
2008-09-11 19:05
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
道理很清楚啊,想想看,一般一组数在那里,只要有一个数可以确定位置了,那这个数就可以不用参加下一次的排序,所以调用的区间相应要先减1.对于递归式来说,它肯定要先判断参数的值到底是多少了。++k,表明了本身K这个位置不用参加了。而真正调用的是ListInsert(LC,k+1,bj);(当然自身K要自增)

倚天照海花无数,流水高山心自知。
2008-09-11 19:45
迷_茫
Rank: 1
等 级:新手上路
威 望:1
帖 子:10
专家分:0
注 册:2008-9-9
收藏
得分:0 
今天刚学...LC是一个空的线性表,肯定是没用位置的,总要先增加一个位置来容纳ai或bj吧,所以是++K
2008-09-12 12:01
benzeen
Rank: 2
等 级:新手上路
威 望:3
帖 子:49
专家分:0
注 册:2008-9-20
收藏
得分:0 
8#说得对!!
2008-09-21 09:59
快速回复:初学者的低级问题
数据加载中...
 
   



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

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