天天看點

【資料結構】(單連結清單)找出兩個連結清單的公共元素并 放在連結清單C中,要求不破壞AB連結清單

算法思想:尋找公共元素,即尋找兩個連結清單中值相等的元素,預設連結清單有序,隻需要周遊比較即可,詳見代碼
LinkList Get_Common(LinkList A,LinkList B){
	if(A->next==NULL||B->next==NULL)  //連結清單為空傳回
		return NULL;
		
	LinkList C;
	C=(LinkList)malloc(sizeof(LNode)); //配置設定C連結清單頭結點
	C->next=NULL;			//頭指針置空
	LinkList pc=C; 
	
	LinkList pa=A->next;
	LinkList pb=B->next;
	
	while(pa&&pb){
		
		if(pa->data==pb->data){  //找到公共節點
			LNode *s=(LinkList)malloc(sizeof(LNode));
			s->data=pa->data; 
			pc->next=s;		//采用尾插法建立連結清單
			pc=s;
			pa=pa->next;
			pb=pb->next;
		}else if(pa->data>pb->data){
		
			pb=pb->next;
		}else{
			pa=pa->next;
		}		
	}	
	pc->next==NULL;  //尾指針置空
	return C;
}