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
반응형
'42 SEOUL > DS_Study' 카테고리의 다른 글
[DS/자료구조] 연결 리스트 - 이중 연결 리스트(Doubly Linked List) (0) | 2022.04.21 |
---|---|
[DS/자료구조] 연결 리스트 - 원형 연결 리스트(Circular Linked List) (0) | 2022.04.21 |
[DS/자료구조] 리스트 - 배열 리스트와 연결 리스트 (0) | 2022.04.17 |
댓글