ÇÁ·Î±×·¡¹Ö

 3206, 1/161 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   h2spice
   (ÀڷᱸÁ¶ ) SingleList Áß°£ Node »ðÀÔ ÇÔ¼ö ±¸ÇöÀÌ À߾ȵǿä!!!

http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_programming&no=2839 [º¹»ç]


³ëµå »ý¼º, ¿¬°á
ºÎºÐÃâ·Â, Àüü Ãâ·ÂÀº ÀÌ»ó¾øÀÌ ±¸ÇöÀÌ µÇ¾ú´Âµ¥

Áß°£»ðÀÔ ÀÌ À߾ȵ˴ϴÙ

¿¡·¯´Â ¾È³ª°í¿ä. ½ÇÇàÀºµÇ´Âµ¥

¿¹¸¦ µé¾î

Áß°£»ðÀÔ ¸Þ´º¿¡ µé¾î°¡¸é
¸î¹ø° ³ëµå¿¡ ³ÖÀ»²«Áö ¹¯°ÔµÇ´Âµ¥

3 À̶ó°í ÀÔ·ÂÇϸé

3¹ø° ³ëµå·Î À̵¿ÇÕ´Ï´Ù

3¹ø° ³ëµå¿¡ »õ·Î¿î ³ëµå »ý¼ºÇؼ­

±× ³ëµå¿¡ µ¥ÀÌÅ͸¦ ÀԷ¹޽À´Ï´Ù ( ex : 100)

±×¸®°í ÀÌ »õ·Î¿î ³ëµå¸¦ ÀÌÀü³ëµå¿Í ´ÙÀ½³ëµå¿¡ ¿¬°áÇÏ°í

Àüü Ãâ·ÂÇغ¸¸é Ãß°¡ °¡ ¾ÈµË´Ï´Ù...

¤Ð¤Ð

¹Ø¿¡ ÄÚµå ÀÖ½À´Ï´Ù Çѹø ºÁÁÖ¼¼¿ä ¤Ð¤Ð ÁÖ¼®À» µÚ´Ê°Ô ´Þ¾Æ³ù´Âµ¥ ,,,,,,, ±ÞÇÑ°Ô ´Ü´Ù°í

ÁöÀûÇØÁÖ½Ã¸é °¨»çÇÏ°Ú½À´Ï´Ù.







#include <stdio.h>
#include <stdlib.h>

typedef int ElementType;

typedef struct node{                //³ëµå ±¸Á¶Ã¼ ¼±¾ð (µ¥ÀÌÅÍ Çʵå , ´ÙÀ½ ³ëµå Æ÷ÀÎÅÍ Çʵå)
        
        ElementType Data;
        node * NextNode;
}Node;


Node* Create_Node(ElementType a){                // ³ëµå »ý¼º ÇÔ¼ö ( Èü¿µ¿ª¿¡ »ý¼º¸¸ ÇÑ ÈÄ¿¡ Append_Node ÇÔ¼ö·Î ³ëµå ¿¬°á)
        Node* NewNode = (Node*)malloc(sizeof(Node));
        NewNode -> Data = a;
        NewNode -> NextNode = NULL;

        return NewNode;
}

void Append_Node(Node** Head, Node* NewNode)        //»ý¼ºµÈ ³ëµå ¸¦ ¿¬°á ÇÏ´Â ÇÔ¼ö /
{
        if( (*Head) == NULL)                                                // ¸Å°³ º¯¼ö¸¦ 2°³ °¡Áö´Âµ¥ ¸ÞÀÎÇÔ¼ö ³»¿¡ º¯¼ö Node* List, ¿Í Node* NewNode °¡ ÀÖÀ½
        {                                                                                        // Node* List ´Â Çìµå°¡ µÊ .  ¿¹¸¦ µé¾î Append_Node(&List , Create_Node(1)) »ç¿ë
                
                (*Head)=NewNode;                                                 // Head °¡ NULL À϶§ Head °¡ NewNode ¸¦ °¡¸£Å°°ÔÇÔ.
        }
        else
        {
                Node* Tail = (*Head);
                        while(Tail->NextNode != NULL)                // Head °¡ NULL ÀÌ ¾Æ´Ò¶§ Àӽ÷ΠTail ³ëµå »ý¼º ÈÄ Head  ÁÖ¼Ò°ªÀ» ÁÜ
                        {
                                Tail = Tail -> NextNode ;                // ³ëµå¿¡ ¼øÂ÷ Á¢±ÙÇÏ¿©  NULL ÀÌ µÉ¶§±îÁö À̵¿
                        }
                        Tail->NextNode = NewNode;                        // ´ÙÀ½ ³ëµå¸¦ °¡¸£Å°´Â Æ÷ÀÎÅÍ°¡ NULL Àΰæ¿ì »ý¼ºµÈ NewNode ¸¦ °¡¸£Å°°Ô ÇÔ
        }
}

void menu (void)                                                                        // ¸Þ´º¸¦ »ý¼º
{
        printf("=================================\n");
        printf("@@@ Node Ãß°¡ (1) @@@@@@@@@@@@@@@\n");
        printf("@@@ Node Áß°£»ðÀÔ (2) @@@@@@@@@@@\n");
        printf("@@@ Node ÁöÁ¤Ãâ·Â (3) @@@@@@@@@@@\n");
        printf("@@@ Node ÀüüÃâ·Â (4) @@@@@@@@@@@\n");
        printf("=================================\n");
}
        
void booboon(Node** Head, int count)                // ºÎºÐ ³ëµå Á¢±Ù ÇÏ¿© ±× µ¥ÀÌÅ͸¦ Ãâ·Â Çϱâ À§ÇÑ ÇÔ¼ö
{        
        int i = 0;                // for ¹®À» µ¹¸®±â À§ÇÑ º¯¼ö
        Node* NewNode;        
        NewNode = (*Head);
        for(i=1 ; i != count ; i++)                                // »ç¿ëÀÚ°¡ Á¢±ÙÇÏ·Á´Â X¹ø° ³ëµå¸¦ Á¢±Ù (for¹® 3¹øµ¹¸®¸é 3¹ø°³ëµå Á¢±Ù)
        {
                NewNode= NewNode->NextNode ;
        }
        printf("       %d", NewNode->Data);                // ÇØ´ç ³ëµå µ¥ÀÌÅÍ Ãâ·Â
        printf("\n\n");
}

void Insert_Node (Node** Head , Node* NewNode, int count)                // Áß°£ ³ëµå¸¦ »ðÀÔÇϱâ À§ÇÑ ÇÔ¼ö !!!! ( À̺κп¡¼­ ¸·Èû!!!)
{
        int i = 0;                                //Æ÷¹® µ¹¸®±â À§ÇÑ º¯¼ö
        Node* Find;                                                
        //Node* Temp = NULL;
        Find = (*Head);                                // Find ¿¡ Head ÁÖ¼Ò°ª ´ëÀÔ
        for(i=1 ; i != count ; i++)                // ÇØ´ç ³ëµå Á¢±Ù
        {
                Find = Find ->NextNode ;
        }
        
        NewNode = Find->NextNode;                // º»·¡ ³ëµå°¡ °¡¸£Å°°í ÀÖ´Â ´ÙÀ½³ëµå¸¦ »ý¼ºµÈ NewNode °¡ °¡¸£Å°°Ô ÇÔ
        //Temp = NewNode;
        
        Find->NextNode = NewNode;                // º»·¡ ³ëµå°¡ °¡¸£±â°íÀÖ´Â ´ÙÀ½³ëµå¸¦  »ý¼ºµÈ NewNode ·Î ¹Ù²Þ
}

void main (void)
{
        int Num=0;                        // ¸Þ´º ¸¦ ¼±ÅÃÇϱâ À§ÇÑ º¯¼ö
        int NNUM=0;                        // Ãß°¡ ÇÒ ³ëµå °³¼ö¸¦ ÀԷ¹ޱâÀ§ÇÑ º¯¼ö
        int input=0;                //»ý¼ºµÈ ³ëµåÀÇ µ¥ÀÌÅ͸¦ ÀԷ¹ޱâ À§ÇÑ º¯¼ö
        int i=0;                        //for ¹® À» µ¹¸®±âÀ§ ÇÑ º¯¼ö
        Node* List = NULL;
        Node* NewNode = NULL;
        while(1)
        {
        menu();

        scanf("%d",&Num);

        switch (Num){
        
                case 1 :
                        {        
                                printf(" ³ëµå¸¦ ¸î°³ Ãß°¡ÇÒ±î¿ä? \n");
                                scanf("%d", &NNUM);
                                printf("\n\n");
                                printf("³ëµå Ãß°¡Áß .........\n");

                                for(i=1 ; i<= NNUM ; i++)
                                {
                                        printf("»õ·Î¿î ³ëµå ÀÔ´Ï´Ù. µ¥ÀÌÅ͸¦ ÀÔ·ÂÇØÁÖ¼¼¿ä \n",i);
                                        scanf("%d",&input);
                                        Append_Node(&List , Create_Node(input));
                                        printf("³ëµå Ãß°¡ ¿Ï·á. \n", i);
                                        printf("\n\n");
                                }
                                break;
                        }

                case 2 :
                        {        int count = 0 ;
                                int input = 0;

                                printf("¸î¹ø° ³ëµå¿¡ »ðÀÔ ÇϽðڽÀ´Ï±î? \n");
                                scanf("%d",&count);
                                printf("Áß°£ »ðÀÔ ÇÒ »õ·Î¿î ³ëµå ÀÔ´Ï´Ù. µ¥ÀÌÅ͸¦ ÀÔ·ÂÇØÁÖ¼¼¿ä. \n");
                                scanf("%d", &input);
                                Insert_Node(&List, Create_Node(input), count);
                                printf("³ëµå »ðÀÔ ¿Ï·á µÇ¾ú½À´Ï´Ù \n\n");


                                break;
                        }



                case 3 :
                        {        
                                int count = 0;
                                printf(" ¸î¹ø° ³ëµå¿¡ Á¢±Ù ÇϽðڽÀ´Ï±î ? \n");
                                scanf("%d",&count );
                                printf(" %d¹ø° ³ëµå Data : \n ", count);
                                booboon(&List, count);

                                break;
                        }


                case 4 :
                        {
                                printf(" ³ëµå¸¦ Ãâ·Â ÇÕ´Ï´Ù. \n");
                                printf(" ÇöÀç ³ëµå´Â : \n");
                                for(NewNode = List ; NewNode != NULL; NewNode = NewNode->NextNode)
                                {
                                        printf("        %d        \n",NewNode->Data);
                        
                                }
                                printf("\n");
                        }
        }
        }


        
}


        


  Hit : 7430     Date : 2011/01/06 04:47



    
sonogongx Insert_Node ÇÔ¼ö¿¡¼­
NewNode = Find->NextNode; <-- ÀÌ ºÎºÐÀÌ Àß ¸ø µÈ°Í °°Àºµ¥¿ä...

NewNode->NextNode = Find->NextNode; ÀÌ·¸°Ô µÇ¾ß µÉ°Í °°½À´Ï´Ù.
2011/01/06  
gamja Insert_NodeÇÔ¼ö ¼Ò½º´ë·Î¶ó¸é »õ·Î Ãß°¡ÇÑ ³ëµå´Â ¿¹¸¦µé¾î

3¹ø° À§Ä¡¿¡ ³Ö´Â´Ù°í °¡Á¤Çϸé,
°á°ú¹°Àº ¾Æ·¡Ã³·³ µÉÅÙµ¥¿ä
1¹ø³ëµå -> 2¹ø³ëµå -> º»·¡³ëµå(3¹ø³ëµå) -> »ý¼ºµÈ ³ëµå -> 4¹ø³ëµå

¼Ò½º´ë·Î¶ó¸é 3¹ø° À§Ä¡¿¡ Ãß°¡µÇÁö¾Ê°í 4¹ø° À§Ä¡¿¡ Ãß°¡µÉ²®´Ï´Ù. Ãß°¡ÇÏ·Á´Â À§Ä¡ ´ÙÀ½³ëµå¿¡ ÀúÀåµÇÁö ¾Ê¾Ò³ª È®ÀÎÇغ¸¼¼¿ä.
2011/01/08  
3206   SNSÇØÅ·ÀÌ µÇ³ª¿ë? µµ¿ÍÁÖ¼¼¿ä ¤Ð¤Ð¤Ð [2]     ÇÑä¹Î
02/28 332
3205   Ä¡Æ®¿£Áø °í¼öºÐ °è½Ç±î¿ä[1]     rjsdudals123
02/15 184
3204   ¿À·ù Á» ã¾ÆÁÖ¼¼¿ä [1]     marunim
05/30 915
3203 ºñ¹Ð±ÛÀÔ´Ï´Ù  124     minsub87
08/17 1
3202   c¾ð¾î segmentation fault:11 ¿À·ù Áú¹®µå¸³´Ï´Ù![2]     leebk1124
05/21 2005
3201   C++ÇÔ¼ö°ü·Ã Áú¹®ÀÌ¿¡¿ë!![3]     1999dylee
05/11 1840
3200   ÆÄÀ̽ã Áö¹® µå¸³´Ï´Ù.[1]     kksh1107
04/24 1581
3199   ¸®¹ö½ÌÀÇ ¼¼¹ø¤Š ²É - ¿ª¶û-     nninni79
04/20 2284
3198   ´Þ°í³ª ¹®¼­ ½©ÄÚµå[1]     ghjk645
03/24 1604
3197 ºñ¹Ð±ÛÀÔ´Ï´Ù  c¾ð¾î ¼Ò¼ö °ª     adwefq
04/29 0
3196   C¾ð¾î ¼Ò½ºÁú¹®ÀÔ´Ï´Ù![5]     an0088
01/05 5113
3195   C++ /// ºôµå ¿¡·¯ ¤Ð¤Ð[1]     guichanta
08/23 2394
3194 ºñ¹Ð±ÛÀÔ´Ï´Ù  c¾ð¾î µµ¿ÍÁÖ¼¼¿ä¤Ð¤Ð     su6339
04/06 0
3193   ÇØÅ·À» ¹è¿ì·Á°íÇϴµ¥[3]     zoodem04
03/26 4179
3192   c¾ð¾î¸¦ ¹è¿ì°í½Í¾î¿ä ![7]     dwc07238
02/11 4059
3191   ½ºÅÃÀÌ ½×ÀÌ´Â ¹æÇâ¿¡ °üÇؼ­!![1]     hackxx123
12/10 3512
3190   ÇØÅ·Åø¿¡¼­ ip ¾øÀÌ Çϵ忡 ½É´Â°Å¿¡´Â ¾î¶²°Ô ÀÖÀ»±î¿ä?[2]     aowlrgmlals
11/27 4271
3189   C¾ð¾î Çϴµ¥ double ½Ç¼ö¸¦ ³ÖÀºµ¥ ÀÚ²Ù 0.0ÀÌ ³ª¿Í¿ä[2]     fatou10336
11/20 3722
3188   dumpcode.h ÀÌÇØÁ» µµ¿ÍÁÖ¼¼¿ä .[1]     cm6418
11/06 3701
3187   c¾ð¾î ¾Ë°í¸®Áò Áú¹®ÀÔ´Ï´Ù.[3]     alstn8150
10/12 3726
1 [2][3][4][5][6][7][8][9][10]..[161]

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org