연결리스트 도와주세요!!

조회수 254회
void AddOverExp(List* plist)
{
    Node* cur = plist->head->next;
    Node* cur2 = cur->next;
    Node* bef = plist->head->next;
    Node* rpos;

    for(;;)
    {
        if (cur->next == NULL)
            break;

        for(;;)
        {
            if (cur1->data2==cur2->data2)
            {
                    rpos = cur2;
                    cur->data1 = cur->data1 + cur2->data1;
                    while (1)
                    {
                        if (bef->next != cur2)
                            break;
                        bef = bef->next;
                    }
                    bef->next = cur2->next;
                    cur2 = bef;
                    free(rpos);
            }
            cur2 = cur2->next;
            if (cur2 == NULL)
                break;

        }
        cur = cur->next;
        cur2 = cur->next;
    }
}

변수는 x인 두 방정식을 곱하는 문제인데 곱해서 list에 저장까지 완료를 했거든요? 그런데 이제 그 리스트 안에서 같은 지수를 갖은 놈들의 계수를 더하고 나중에 나온 놈을 삭제하려하는데 안되네요..뭐가 문제일까요 만약 list에 head->DMY->1 3->2 2 ->1 1 ->1 2->2 1 ->1 0 -> NULL 이 저장되었다면 head->DMY->1 3 ->3 2 ->3 1 -> 1 0 -> NULL이 될거에요

  • 참고로 노드에 data1은 계수,data2는 지수입니다! 윤용호 2022.10.14 22:16

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)