Advertisement

开发一种将两个有序单链表进行归并排序的算法

阅读量:

(代码长度略显冗长)

复制代码
    LinkList *MergeList(LinkList *La,LinkList *Lb){
    LinkList *p,*q,*k;
    p=La->next;   q=Lb->next;  k=La;
    if(La==null) return Lb;
    if(Lb==null) return La;
    while(p!=null && q!=null){
    	if(p->data <= q->data){
    		k->next = p;
    		k=p;
    		p=p->next;
    	}
    
    	if(p->data > q->data){
    		k->next = q;
    		k=q;
    		q=q->next;
    	} 
    }
    if(p!=null) q=p;
    while(q!=null){
    	k->next = q;
    	k=q;
    	q=q->next;
    }
    k->next=null;
    return La;
    }
    
    
    
    
      
      
      
      
      
      
      
      

全部评论 (0)

还没有任何评论哟~