#include<iostream>
#include<cstring>
using namespace std;
struct node
{
int Order;
char Name[10];
char Sex[2];
int Grade;
node *next;
}*head,*tail,*q,*p,*t;
int main()
{
int n;
cout<<"请输入学生的个数 ";
cin>>n;
head=new node;
tail=head;
for(int i=1; i<=5; i++)
{
p=new node;
cin>>p->Order>>p->Name>>p->Sex>>p->Grade;
tail->next=p;
tail=p;
}//存入信息
int len=0;
p=head->next;
while(p)
{
p=p->next;
len++;
}//判断链表长度,其实不用判断,在输入的时候已经知道长度了
cout<<"链表的长度是 ";
cout<<len<<endl;
int num;
cout<<"请输入要插入的学生位置和信息";
t=new node ;
cin>>num;
cin>>t->Order>>t->Name>>t->Sex>>t->Grade;//输入要存入的信息
if(num<0||num>len)
{
cout<<"wrong!"<<endl;
return 0;
}//如果不符合条件就直接退出
p=head->next->next;
q=head->next;
int ans=0;
while(p)
{
ans++;
if(ans==num)
{
q->next=t;
t->next=p;
break;
}
p=p->next;
q=q->next;
}//寻找符合条件的数
cout<<"链表的节点按顺序表示为 ";
cout<<endl;
p=head->next;
while(p)
{
cout<<p->Order<<" "<<p->Name<<" "<<p->Sex<<" "<<p->Grade<<endl;
p=p->next;
}//顺序输出
return 0;
}
#include<cstring>
using namespace std;
struct node
{
int Order;
char Name[10];
char Sex[2];
int Grade;
node *next;
}*head,*tail,*q,*p,*t;
int main()
{
int n;
cout<<"请输入学生的个数 ";
cin>>n;
head=new node;
tail=head;
for(int i=1; i<=5; i++)
{
p=new node;
cin>>p->Order>>p->Name>>p->Sex>>p->Grade;
tail->next=p;
tail=p;
}//存入信息
int len=0;
p=head->next;
while(p)
{
p=p->next;
len++;
}//判断链表长度,其实不用判断,在输入的时候已经知道长度了
cout<<"链表的长度是 ";
cout<<len<<endl;
int num;
cout<<"请输入要插入的学生位置和信息";
t=new node ;
cin>>num;
cin>>t->Order>>t->Name>>t->Sex>>t->Grade;//输入要存入的信息
if(num<0||num>len)
{
cout<<"wrong!"<<endl;
return 0;
}//如果不符合条件就直接退出
p=head->next->next;
q=head->next;
int ans=0;
while(p)
{
ans++;
if(ans==num)
{
q->next=t;
t->next=p;
break;
}
p=p->next;
q=q->next;
}//寻找符合条件的数
cout<<"链表的节点按顺序表示为 ";
cout<<endl;
p=head->next;
while(p)
{
cout<<p->Order<<" "<<p->Name<<" "<<p->Sex<<" "<<p->Grade<<endl;
p=p->next;
}//顺序输出
return 0;
}