シングルチェーン表要素は挿入方法によって並べ替えられます.

626 ワード

typedef struct node
{ 
    int data;  //   
    struct node *next;  //    next
}linklist,*link;  
void Insertsort(link L)  //      
{
  link p,q,ru;     
  p=L->next;    //p    L      
  L->next=NULL;  //     ,                  
  while(p!=NULL)  //p           
  {
    r=L;    
    q=L->next;  //q        
    while(q!=NULL&&q->data<=p->data)  //q          ,  q    <=p   
    {
       r=q;      //r    q
       q=q->next;  //q          
    }

  u=p->next;    //u          
  p->next=r->next;  //   p       
  r->next=p;   //  p     
  p=u;  //p      u
}

}