简单小程序 求帮助啊 (关于删除链表的结点)

zhishiheng 2012-05-16 04:12:05

#include "stdio.h"
#include "malloc.h"
typedef struct LNode{
int data;
struct LNode *next;
}LNode,*LinkList;
//构造一个链表
bool CreatList(LinkList &L)
{
int x;
L=(LinkList)malloc(sizeof(LNode));
scanf("%d",&x);
LNode *r=L,*s;
while(x!=999)
{
s=(LinkList)malloc(sizeof(LNode));
s->data=x;
r->next=s;
r=s;
scanf("%d",&x);
}
r->next=NULL;
return true;
}
//删除链表中最小结点
LinkList DeleteMin(LinkList &L)
{
LNode *p=L,*pre=p->next;
LNode *minp=p,*minpre=pre;
while (p!=NULL)
{
if (p->data<minp->data)
{
minp=p;
minpre=pre;
}
pre=p;
p=p->next;
}
minpre->next=minp->next;
free(minp);
return L;
}
void main()
{
LinkList L;
CreatList(L);
DeleteMin(L);
while(L->next)
{
L=L->next;
printf("%d",L->data);
}
}

为什么无法输出结果呢?说是内存空间被占用什么的。
...全文
136 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
WYJXHL97 2012-05-16
  • 打赏
  • 举报
回复
#include "stdio.h"
#include "malloc.h"

typedef struct LNode{
int data;
struct LNode *next;
}LNode,*LinkList;

//构造一个链表
bool CreatList(LinkList &L)
{
int x;
L = NULL;
LNode *r,*s;
do{
scanf("%d",&x);
if(x == 999)
break;
s=(LinkList)malloc(sizeof(LNode));
if(L == NULL)
{
L = s;
r = L;
}
s->data=x;
r->next=s;
r=s;
}while(1);

r->next=NULL;
return true;
}

//删除链表中最小结点
LinkList DeleteMin(LinkList &L)
{
LNode *p=L;
LNode *minp=p,*minpre=p;
while ((p != NULL)&&(p->next != NULL))
{
if(minp->data > p->next->data)
{
minp = p->next;
minpre = p;
}
p = p->next;
}
minpre->next = minp->next;
if(minp == L)
L = minp->next;
free(minp);
return L;
}

void main()
{
LinkList L = NULL;
printf("input\n");
CreatList(L);
DeleteMin(L);
printf("output:\n");
while(L)
{
printf("%d\n",L->data);
L=L->next;
}
}

create链表就不对,delete的时候问题就更多了,lz自己对比一下吧。
链表的要好好学习一下,很重要。
zhishiheng 2012-05-16
  • 打赏
  • 举报
回复
尼玛 我就是送分的!艹
zhishiheng 2012-05-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

楼主,你要输入999结束吧
[/Quote]
是要输入999结束 我的问题跟这个无关啊

是ox44o1205指令引用的oxdddddddd内存。改内存不能为read.
hen_hao_ji 2012-05-16
  • 打赏
  • 举报
回复
楼主,你要输入999结束吧
zhishiheng 2012-05-16
  • 打赏
  • 举报
回复
补充:比如说 我输入 12345 结果应该是2345 但是无法显示结果

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧