|
http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=2827 [º¹»ç]
LinkedList¸¦ °øºÎÇϰí Àִµ¥
Áú¹®ÀÌ ÀÖ½À´Ï´Ù.
ind addLLElement(LinkedList *pList, int position, ListNode element)
{
int ret = FALSE;
int i = 0;
ListNode* pPreNode = NULL;
ListNode* pNewNode = NULL;
if(pList != NULL){
if(position >=0 && position < pList->currentElementCount){
pNewNode = (ListNode*)malloc(sizeof(ListNode));
if(pNewNode != NULL){
*pNewNode = element;
pNewNode->pLink = NULL;
pPreNode = &(pList->headerNode);
for(i=0; i<pList->currentElementCount; ++i){
pPreNode = pPreNode->pLink;
}
pNewNode->pLink = pPreNode->pLink;
pPreNode->pLink = pNewNode;
pList->currentElementCount++;
ret = TRUE;
}
else
{
printf("¿À·ù, ¸Þ¸ð¸®ÇÒ´ç addLLElement()\n");
return ret;
}
}
else
{
printf("¿À·ù, À§Ä¡ À妽º-[%d], addElement()\n");
}
}
return ret;
}
int main()
{
...
LinkedList *pList = NULL
LinkedListNode node;
node.data = 5;
pList = createLinkedList();
addLLElement(pList, 0, node);
...
}
nodeÀÇ °ªÀ» º¹»çÇØ¼ addLLElement()ÇÔ¼ö·Î º¸³»ÁØ ÈÄ¿¡
addLLElement()ÇÔ¼ö¿¡¼ pNewNode·Î ´ëÀÔ ÇÏÀݾƿä.
pNewNode´Â ÇÔ¼ö°¡ Á¾·áµÇ¸é »ç¶óÁö´Â °Í ¾Æ´Ñ°¡¿ä?
¿ä¾à : node¸¦ Æ÷ÀÎÅÍ·Î ¾ÈÇϰí call by value·Î ó¸®Çϸé addLLElement()ÇÔ¼ö°¡ Á¾·áµÇ¹ö¸®¸é mainÇÔ¼ö¿¡ ¾Æ¹«·± ¿µÇâÀ» ÁÖÁö ¸øÇÏ´Â°Í ¾Æ´Ñ°¡¿ä? |
Hit : 3909 Date : 2010/12/30 01:37
|