Unborn 8.0 Yellow Pointer
본문 바로가기
42 SEOUL/DS_Study

[DS/자료구조] 연결 리스트 - 다항식 계산 구현

by 에삐니 2022. 4. 22.
728x90

다항식 계산 구현

#include "../include/polynomial.h"

LinkedList	*multiply(LinkedList *aList, LinkedList *bList)
{
	int	alen = getPolynomialListLength(aList) - 1;
	int	blen;
    LinkedList	*newList = createPolynomialList();
	ListNode	*newNode = calloc(1, sizeof(ListNode));
	ListNode	*aHeadNode = aList->headerNode.pRLink;
	ListNode	*bHeadNode;
	
	while(alen--) {
		blen = getPolynomialListLength(bList) - 1;
		bHeadNode = bList->headerNode.pRLink;
		while(blen--) {
			newNode->coef = aHeadNode->coef * bHeadNode->coef;
			newNode->degree = aHeadNode->degree + bHeadNode->degree;
			add(newList, newNode);
			bHeadNode = bHeadNode->pRLink;
		}
		aHeadNode = aHeadNode->pRLink;
	}
	return (newList);
}

 

728x90
반응형

댓글