연결 리스트를 인자로 받아서 뒤집어주는 함수
typedef struct ListNodeType
{
int data;
struct ListNodeType *pLink;
} ListNode;
typedef struct LinkedListType
{
int currentElementCount; // 현재 저장된 원소의 개수
ListNode headerNode; // 헤더 노드(Header Node)
} LinkedList;
void reverseLinkedList(LinkedList* pList); // linkedlist 역순
void reverseLinkedList(LinkedList* pList)
{
ListNode *prev;
ListNode *curr;
ListNode *next;
if (pList == NULL)
return ;
prev = NULL;
curr = pList->headerNode.pLink;
for (int i = 0; i < pList->currentElementCount; i++)
{
next = curr->pLink;
curr->pLink = prev;
prev = curr;
curr = next;
}
pList->headerNode.pLink = prev;
}