这是去年用来训练编码能力的一道水题,最近学了链表就重新写了一下这题,对指针不熟悉唉,指来指去,人都晕了
#include<iostream>
#include<malloc.h>
using namespace std;
struct stu
{
int vaule;
stu* next;
};
int main()
{
int n,m;
while(cin>>n>>m&&n&&m)
{
stu *root=(stu*)malloc(sizeof(stu));
root->next=NULL;
stu *p=root;
for(int i=0;i<n;i++)
{
stu *k=(stu*)malloc(sizeof(stu));
cin>>k->vaule;
k->next=NULL;
p->next=k;
p=p->next;
}
root=root->next;
p=root;
while(p->next!=NULL)
{
if(p->next->vaule>=m)
{
stu *k=(stu*)malloc(sizeof(stu));
k->vaule=m;
k->next=p->next;
p->next=k;
break;
}
p=p->next;
}
cout<<root->vaule;
root=root->next;
while(root!=NULL)
{
cout<<" "<<root->vaule;
root=root->next;
}
cout<<endl;
}
return 0;
}