| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 738 人关注过本帖
标题:跨专业自学数据结构,求教简单问题
只看楼主 加入收藏
jamieshou
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-8-23
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
跨专业自学数据结构,求教简单问题
跨专业自学数据结构,所以后很多愚蠢的细节的问题,希望可以在这里找到帮助
Status ListInsert_L(LinkList &L,int i ,ElemType e){         1
//在带头节点单链表L中第i个位置之前插入e                       2
p=L;j=0;                                                    3
while(p&&j<i-1){p=p->next;++j}//寻找第i-1个节点              4
if (!p||j>i-1)return ERROR;//i小于一或者大于表长加一         5
……………………………………
……………………………………
不怕大家笑话了
首先第三行,p=L和第四行的p=p->next,是不是就是为了达到p=L->next这个效果
第二,第四行是为了找到第i-1个节点,过程是不是这样的,假设i=5,i-1=4,
开始的时候while判断完第一次p指向第一个节点,j=1
直到p指向4,j=4,然后执行while判断的时候,j=4不成立,退出while,但是p还是指向4是不是
第三,第五行注释说这句的意思是i小于一或者大于表长加一,可是我完全没看出来哪里是i小于一,哪里是大于表长加一啊
搜索更多相关主题的帖子: 结构 return 笑话 
2012-08-23 11:48
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:0 
加油~~~
2012-08-23 12:06
netlin
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:24
帖 子:544
专家分:4308
注 册:2012-4-9
收藏
得分:20 
楼主学习很细心啊!
第“5”行,针对两情况报错:参数值i值小于1的情况、i值大于链表最大结点数
第“4”行,“//寻找第i-1个节点”,要注意起点是0
在C语言中,数组下标是从0开始,而生活中,计数是从1开始。

对上面的程序稍微调整一下,看起来就顺多了!

Status ListInsert_L(LinkList &L,int i ,ElemType e){         1
//在带头节点单链表L中第i个位置之前插入e                     2
p=L;j=1;                                                    3
while(p&&j<i){p=p->next;++j}//寻找第i个节点                 4
if (!p||j>i)return ERROR;//p指向最后一个结点的后面;前面的循环,最多让j=i         5
//上一句也可改为:if(!p||i<1)return ERROR;
……………………………………
……………………………………

做自己喜欢的事!
2012-08-26 10:30
netlin
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:24
帖 子:544
专家分:4308
注 册:2012-4-9
收藏
得分:0 
另外,这个函数还有一些问题:
如果按程序运行,找到的是第i个结点,在单链表的某结点前插入新结点是很难操作的。

我对这个函数做了一些修改,与楼主交流一下:
Status ListInsert_L(LinkList &L,int i ,ElemType e){         1
//在带头节点单链表L中第i个位置之前插入e                       2
p=L;j=1;                                                    3
while(p->next&&j<i-1){p=p->next;++j}//寻找第i-1个节点,未找到时在最后一个结点停下来         4
if(i<=1){
<...在头结点前插入新结点...>
}
else{
…………<在p指向的结点后面插入新结点>………
}
…………………………………………………

做自己喜欢的事!
2012-08-26 10:46
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
收藏
得分:0 
共勉  本人和你一样  跨专业 自学

我要成为嘿嘿的黑客,替天行道
2012-09-17 18:29
快速回复:跨专业自学数据结构,求教简单问题
数据加载中...
 
   



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

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