| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 466 人关注过本帖
标题:在递增的单链表中把一个数字插入到适当的位置 程序运行时出现下图这种情况 ...
只看楼主 加入收藏
winner1995
Rank: 2
等 级:论坛游民
帖 子:64
专家分:41
注 册:2015-10-11
结帖率:88.89%
收藏
已结贴  问题点数:20 回复次数:4 
在递增的单链表中把一个数字插入到适当的位置 程序运行时出现下图这种情况搞不清是程序问题还是软件问题
#include<iostream>
#include<stdlib.h>
using namespace std;
int n;
typedef struct node
{ int data;
struct node *next;
}node,*list;
void createlist(list *L)
{*L=(list)malloc(sizeof(node));
(*L)->next=NULL;
cout<<"please enter element's number:"<<endl;
list p,r;
r=*L;
cin>>n;
cout<<"enter data:"<<endl;
for(int i=0;i<n;i++)
{p=(list)malloc(sizeof(node));
cin>>p->data;
r->next=p;
r=p;
}
r->next=NULL;
}
void outputlist(list *L)
{
cout<<"your list is:"<<endl;
for(int i=0;i<n;i++)
{cout<<(*L)->next->data<<"\t";
*L=(*L)->next;
}
}
void insertlist(list *L)
{int i;
list q;
cout<<"enter will insert's data:"<<endl;
cin>>i;
while(i>(*L)->next->data)
*L=(*L)->next;
if(*L)
{q=(list)malloc(sizeof(node));
q->data=i;
q->next=(*L)->next;
(*L)->next=q;}
else
{*L=(*L)->next;
    q=(list)malloc(sizeof(node));
q->next=(*L)->next;
(*L)->next=q;
}
n=n+1;
cout<<"your list is:"<<endl;
for(int j=0;j<n;j++)
{cout<<(*L)->next->data<<"\t";
*L=(*L)->next;
}
}
int main()
{list L1;
createlist(&L1);
outputlist(&L1);
insertlist(&L1);
return 0;
}
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: element include please number 
2015-11-16 22:28
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:15 
凡是這種畫面,找指針錯誤就是了。

授人以渔,不授人以鱼。
2015-11-17 11:22
winner1995
Rank: 2
等 级:论坛游民
帖 子:64
专家分:41
注 册:2015-10-11
收藏
得分:0 
回复 3楼 TonyDeng
ok understand I will do it

唯望君安~
2015-11-17 12:14
winner1995
Rank: 2
等 级:论坛游民
帖 子:64
专家分:41
注 册:2015-10-11
收藏
得分:0 
#include<iostream>
#include<stdlib.h>
using namespace std;
int n;
typedef struct node
{ int data;
struct node *next;
}node,*list;
void createlist(list *L)
{*L=(list)malloc(sizeof(node));
(*L)->next=NULL;
cout<<"please enter element's number:"<<endl;
list p,r;
r=*L;
cin>>n;
cout<<"enter data:"<<endl;
for(int i=0;i<n;i++)
{p=(list)malloc(sizeof(node));
cin>>p->data;
r->next=p;
r=p;
}
p->next=NULL;
}
void outputlist(list *L)
{list r;
r=*L;
cout<<"your list is:"<<endl;
for(int i=0;i<n;i++)
{cout<<r->next->data<<"\t";
r=r->next;
}
cout<<endl;
}
void insertlist(list *L)
{int i;
list q,p,r,s,t;
r=*L;
t=*L;
p=(*L)->next;
for(int h=0;h<n;h++)
t=t->next;
cout<<"enter will insert's data:"<<"\t";
cin>>i;
if(i<p->data)
{s=(list)malloc(sizeof(node));
s->data=i;
s->next=r->next;
r->next=s;
}
else
if(t->data<i)
{q=(list)malloc(sizeof(node));
q->data=i;
q->next=t->next;
t->next=q;
}
else
{
    while(i>p->next->data)
p=p->next;
q=(list)malloc(sizeof(node));
q->data=i;
q->next=p->next;
p->next=q;
}
n=n+1;
cout<<"your list is:"<<endl;
for(int j=0;j<n;j++)
{cout<<(*L)->next->data<<"\t";
*L=(*L)->next;
}
cout<<endl;
}
int main()
{list L1;
createlist(&L1);
outputlist(&L1);
insertlist(&L1);
return 0;
}
笨办法勉强做出来了 谢谢大家指导

唯望君安~
2015-11-17 15:21
快速回复:在递增的单链表中把一个数字插入到适当的位置 程序运行时出现下图这种 ...
数据加载中...
 
   



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

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