c++链表的链接
运行出现内存只能为read#include<iostream.h>
#include<stdlib.h>
typedef struct Node
{
int num;
Node *next;
}Node,*Llink;
void output_sort_nodes(Llink head) //链表的输出
{
Llink nodeN;
int i=1;
nodeN=head;
while(nodeN->next)
{
nodeN=nodeN->next;
cout<<"第"<<i<<"个结点的数据为:"<<nodeN->num<<'\n';//这里修改了,注意
i++;
}
}
Llink insert_sort_node(Llink head,Llink p1)
{
Llink ppre,pbac;
if(head->next==NULL){
head->next=p1;
head=p1;
return head;
}
else if(head->num>p1->num)
{
p1->next=head;
head=p1;
return head;
}
ppre=head;
while(ppre->next)
{
pbac=ppre->next;
if(ppre->num<=p1->num&&pbac->num>p1->num)
{
ppre->next=p1;
p1->next=pbac;
return head;
}
ppre=ppre->next;
}
ppre->next=p1;
p1->next=0; //表示插入到链表的末尾
return head;
}
Llink create_sort_linked() //链表创建
{
Llink p1,head;
int a;
head=new Node;
head->next=NULL;
cout<<"产生一条有序链表,请输入数据,以-1结束:\n";
while(1)
{
cin>>a;
if(a==-1)break;
p1=new Node;
p1->num=a;
head=insert_sort_node(head,p1);
}
return head;
}
Llink access_sort_node(Llink head,int n)
{
Llink tmp;
if(head->next==NULL)
return 0;
else
tmp=head->next;
for(int i=0;i<n-1;i++)
tmp=tmp->next;
return tmp;
}
Llink concat_sort_linked(Llink p1,Llink p2) //链表的链接
{
Llink ptm;
for(int i=1;;i++)
ptm=access_sort_node(p2,i);
insert_sort_node(p1,ptm);
return p1;
}
void main()
{
Llink p1,p2,head;
p1=create_sort_linked();
if(p1==NULL)
cout<<"记忆体配置失败:\n";
cout<<"aaaaaaa";
output_sort_nodes(p1);
p2=create_sort_linked();
if(p2==NULL)
cout<<"记忆体配置失败:\n";
output_sort_nodes(p2);
head=concat_sort_linked(p1,p2);
output_sort_nodes(head);
}
帮忙看一下什么地方的问题,先谢了