0
내가 원하는 것은 deg를 확인하고 가장 낮은 값부터 가장 높은 값까지 넣는 것입니다. 그런 다음 두 번째 패스를 수행하고 coef를 수행합니다. 그리고 그것을 가장 높은 것에서 가장 높은 것까지 놓아 라. 두 문장의 경우에도 가능하면C++ mergesort 두 패스로 다항식을 가장 낮은 것부터 가장 높은 것 순으로 표시
나는 세그먼트 오류를 받고 있어요 ... 궁금
Poly merge(Poly* plist1,Poly* plist2){
Term **pp;
Poly merged,list1,list2;
merged = new_Term(); //function for new term in another file
list1 = *plist1;
list2 = *plist2;
pp= &merged;
while(list1 != NULL && list2 != NULL){
if(list2->deg < list1->deg)
{
*pp = list1;
list1 = list1->next;
(*pp)->next = NULL;
}
else
{
*pp = list2;
list2 = list2->next;
(*pp)->next = NULL;
}
if(list2->coef < list1->coef)
{
*pp = list1;
list1 = list1->next;
(*pp)->next = NULL;
}
else
{
*pp = list2;
list2 = list2->next;
(*pp)->next = NULL;
}
pp = &((*pp)->next);
}
if(list1 != NULL)
*pp = list1;
if(list2 != NULL)
*pp = list2;
*plist1 = NULL;
*plist2 = NULL;
return merged;
}
왜 그냥 일종의 그것을
을 변경해야? 그것은 다소 중복 된 것처럼 보입니다. – Annabelle
세그먼트 오류가 발생했을 가능성이 있습니다 (나에게) * pp-> next/pp 값을 검사하여 null이 아닌지 확인해야합니다. – M4rc
사용되지 않는 숙제 태그 제거 –