Friday, November 25, 2011

Program to sort a link list

--------------Program to Sort a Link List----------------



#include <iostream>


using namespace std;
struct node
{
    int data;
    node* next;
}*q;
void add(int n)
{
    node* p;
    if(q==NULL)
    {
        p=new node;
        p->data=n;
        p->next=q;
        q=p;
    }
    else
    {
        node *a=q;
        while(a->next)
        {
            a=a->next;
        }
        p=new node;
        p->data=n;
        p->next=NULL;
        a->next=p;
    }
}
void sort(node* q) //sort link list
{
    node *i,*j;
    int t;
    for(i=q;i!=NULL;i=i->next)
    {
        for(j=i->next;j!=NULL;j=j->next)
        {
            if(i->data>j->data)
            {
                t=i->data;
                i->data=j->data;
                j->data=t;
            }
        }
    }
}
void show(node* p)
{
    node *a=p;
    while(a)
    {
        cout<<a->data<<"->";
        a=a->next;
    }
}
int main()
{
    q=NULL;
    add(5);
    add(4);
    add(3); add(2); add(1);
    show(q);
    sort(q);
    cout<<"\nsorted list is:";
    show(q);
    return 0;
}

No comments:

Post a Comment