用C++写了一个线性表的插入运行一直报错有图
本帖最后由 戴比路克 于 2015-12-21 20:43 编辑代码如下:
#define maxsize 20
#include <iostream.h>
#define OK 1
#define ERROR 0
typedef int Elemtype;
typedef struct
{
Elemtype data;
int length;
}Sqlist;
int LinstInsert(Sqlist *L,int i,Elemtype e)
{
intk;
if(L->length=maxsize)
{
return ERROR;
}
if(i<1 || i>L->length+1)
{
return ERROR;
}
if(i<=L->length)
{
for(k=L->length-1;k >=i-1;k--)
{
L->data=L->data;
}
}
L->data=e;
L->length++;
return OK;
}
void main()
{
Sqlist *s;
LinstInsert(s,5,15);
for(int h=0;h<20;h++)
{
cout<<s->data<<endl;
}
}
---------------------------------------------------------
编译连接都没错误
运行时却报错了
我用的VC++6.0操作系统是win8
求大神帮忙~感激不尽 参考一下:http://bbs.fishc.com/forum.php?mod=viewthread&tid=46760&ctid=184 ~风介~ 发表于 2015-12-19 20:18
参考一下:http://bbs.fishc.com/forum.php?mod=viewthread&tid=46760&ctid=184
万分感谢! ~风介~ 发表于 2015-12-19 20:18
参考一下:http://bbs.fishc.com/forum.php?mod=viewthread&tid=46760&ctid=184
管理问个问题哈
头插法中 p->next = L->next;
L->nex=p
是不是可以理解为 P的next指针指向L的next指针
L的next指针指向p节点本身 戴比路克 发表于 2015-12-21 14:25
管理问个问题哈
头插法中 p->next = L->next;
L->nex=p
自己拿笔和纸出来,画一下图你就清楚了~{:7_140:} ~风介~ 发表于 2015-12-21 15:30
自己拿笔和纸出来,画一下图你就清楚了~
画一下午了。。。就是不知道理解的对不对 而且有一点一直理解不来
我这里说下我的理解 管理大大看下对不对吧
头结点L插入的是P1和P2(就是用头插法插两个数进去)就按照您的那段代码
这里一开始有一个疑问 头结点L不是在main中初始化了吗 那他的next指针应该为null,这样的话我插入的P1如何与头结点串联起来呢?
P1插入之后 P1->next指针是指向p1本身吧?那L->next指针指向p1?然后P2插入之后 P2的next指向 L的next指针所指向的地方 也就是指向P1是吗?然后L->next指针指向p2
拜托大大帮个忙啦~~万分感谢 本帖最后由 ~风介~ 于 2015-12-21 17:58 编辑
戴比路克 发表于 2015-12-21 16:40
画一下午了。。。就是不知道理解的对不对 而且有一点一直理解不来
我这里说下我的理解 管理大大看下对 ...
这里还有一个链接:http://bbs.fishc.com/forum.php?mod=viewthread&tid=45460&ctid=184。感觉说得很清楚了~
既然你诚心诚意问了,再给你一张老夫的墨宝吧~{:7_140:} 结合上面的链接看~
~风介~ 发表于 2015-12-21 17:52
这里还有一个链接:http://bbs.fishc.com/forum.php?mod=viewthread&tid=45460&ctid=184。感觉说得很清 ...
总算看懂了 太感谢了~~~ :loveliness: 戴比路克 发表于 2015-12-21 20:03
总算看懂了 太感谢了~~~
那就自己把 “问题求助”改为“已经解决”吧~{:7_140:}
页:
[1]