#include<iostream>
using namespace std;
typedef struct node
{
int data;
struct node *next;
}node;
void create(node *&ln)
{
int data;
cin >> data;
if(data==0)
{
ln->next=NULL;
}
else
{
node *s=(node*)malloc(sizeof(node));
s->data=data;
ln->next=s;
create(ln->next);
}
}
void print(node *ln)
{
while(ln->next!=NULL)
{
cout << ln->next->data << ' ';
ln=ln->next;
}
}
void select(node *ln)
{
node *p,*q,*r;
int temp;
for(p=ln->next;p!=NULL;p=p->next)
{
r=p;
for(q=p->next;q!=NULL;q=q->next)
if(r->data>q->data)
r=q;
temp=r->data;
r->data=p->data;
p->data=temp;
}
}
void select(node *ln)
{
node *p,*q,*r;
int temp;
for(p=ln;p->next!=NULL;p=p->next)
{
r=p;
for(q=p->next;q->next!=NULL;q=q->next)
if(r->next->data>q->next->data)
r=q;
temp=r->next->data;
r->next->data=p->next->data;
p->next->data=temp;
}
}
int main()
{
node *ln=(node*)malloc(sizeof(node));
create(ln);
select(ln);
print(ln);
return 0;
}
|