主题:关于单链表插入的问题
一个简单的链表插入的问题 代码如下 我运行之后要插入链表没有改变 求大神指导
#include <iostream>
using namespace std;
struct Node
{
Node *next;
int data;
};
typedef Node* pNode;
Node *insert(pNode head);
pNode Reverse(pNode head);
void PrintList(pNode head);
int main()
{
// 初始化一个单链表 head开始为012345,最后一个命名last
pNode head=new Node; head->data=0;
pNode a1=new Node; a1->data =1; head->next=a1;
pNode a2=new Node; a2->data =2; a1->next=a2;
pNode a3=new Node; a3->data =3; a2->next=a3;
pNode a4=new Node; a4->data =4; a3->next=a4;
pNode last=new Node; last->data=5; a4->next=last;
last->next=NULL;
cout<<"链表前: ";PrintList(head);
head=insert(head);
cout<<"链表后: ";PrintList(head);
return 0;
}
pNode insert(pNode head)
{
Node *q1=new Node;
q1=head;
Node *s1=new Node;s1->data=3;
s1->next=NULL;
while(q1->data<s1->data)
q1=q1->next;
s1->next=q1->next;
q1=s1;
delete s1;
s1=NULL;
return head;
}
void PrintList(pNode p)
{
while (NULL != p)
{
cout<<p->data;
p=p->next;
}
cout<<endl;
}
#include <iostream>
using namespace std;
struct Node
{
Node *next;
int data;
};
typedef Node* pNode;
Node *insert(pNode head);
pNode Reverse(pNode head);
void PrintList(pNode head);
int main()
{
// 初始化一个单链表 head开始为012345,最后一个命名last
pNode head=new Node; head->data=0;
pNode a1=new Node; a1->data =1; head->next=a1;
pNode a2=new Node; a2->data =2; a1->next=a2;
pNode a3=new Node; a3->data =3; a2->next=a3;
pNode a4=new Node; a4->data =4; a3->next=a4;
pNode last=new Node; last->data=5; a4->next=last;
last->next=NULL;
cout<<"链表前: ";PrintList(head);
head=insert(head);
cout<<"链表后: ";PrintList(head);
return 0;
}
pNode insert(pNode head)
{
Node *q1=new Node;
q1=head;
Node *s1=new Node;s1->data=3;
s1->next=NULL;
while(q1->data<s1->data)
q1=q1->next;
s1->next=q1->next;
q1=s1;
delete s1;
s1=NULL;
return head;
}
void PrintList(pNode p)
{
while (NULL != p)
{
cout<<p->data;
p=p->next;
}
cout<<endl;
}