Hi my friends
In this part you can see a link list that sort when you add your number.
First number set as the first node.
next number that you will enter , is compare with first node. if it was less than first , it set as first . otherwise it traverse on the link list and compare with each node .this work continue while append number arrive to node that its next node is greate than append node. Now append node set as between current node and next of current node.

Have a good time!

//Sorting link list as append
//programming by : Erfan Nasoori
//Mail : ketn68@yahoo.com
//Date of send : 2009/1/13

#include <iostream.h>
#include <conio.h>

class linkedlist{

                   private:

            		   struct node{
                        		 float num;
                       			 node*next;
                       		      } *first;


                  public:

                         linkedlist(){ first = NULL; }
                         void append();
                         void sort(node*);
                 	 void display();
                };


void linkedlist :: sort(node* temp)
{
 node *temp2,*s;
 if(first==NULL)
 {
  first=new node;
  first=temp;
  first->next=NULL;
 }

 else if(first->num >= temp->num)
 {
   temp->next=first;
   first=temp;
 }

 else if(first->num < temp->num)
 {
  temp2=first;
  while(temp2->next &&  (temp2->next)->num <= temp->num )
  {
    s = temp2;
    temp2 = temp2->next;
  }

    temp->next  = temp2->next;
    temp2->next = temp;
 }
}

void linkedlist :: append()
{
 node *temp;
 cout<<"Enter number : \n";
  do{

  		temp=new node;
      cin>>temp->num;
  		temp->next=NULL;
      sort(temp);

    }while(temp->num);

 cout<<"------------------------------------------------------------------\n";
}

void linkedlist :: display()
{
 cout<<"\n **Sorted Numbers** : \n";
 for(node* q=first ; q!=NULL ; q=q->next)
    cout<<"\n **Number** : "<< q->num <<endl;
}

void main()
{
 linkedlist l;
 cout<<"Now you are enter in link list :\n\n";
 l.append();
 cout<<"\nSorted information:\n";
 l.display();
 getch();
}

Please
I wrote it by Borland 5.02