ÇÁ·Î±×·¡¹Ö

 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 : 7418     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   Á¦¸ñ : »çÀÌÆ® Á¢¼ÓÀÚ Á¤º¸µîÀ» ¾î¶»°Ô ¾Ë¾Æ¿ÀÁÒ?     wasntbut
11/07 2754
3205   C¾ð¾î Äڵ忡 °ü·ÃÇؼ­ Áú¹®µå¸³´Ï´Ù. [1]     chht123
12/03 3948
3204   ÁÖ¼Ò¸¦ ¹®ÀÚ¿­¿¡ ³ÖÀ»¼ö´Â ¾ø³ª¿ä? (level11)     zolac
12/23 4339
3203   c¾ð¾î __asm__ __volatile__ ÇÔ¼ö ¿¡Çʷα׸¦ Áö¿ì´Â ¹ý ÀÖ³ª¿ä?[2]     attainer
10/11 4049
3202   c¾ð¾î¿Í ¾î¼Àºí¸®¾î     ¿ù¿ù
12/08 3464
3201   mac¿ë ÀÌŬ¸³½º ºôµå¿À·ù     tigerlimgy
12/18 4031
3200   ½©ÄÚµå ÀÛ¼ºÁß Áú¹®ÀÔ´Ï´Ù (ÀÚÀ¯°­Á Willy´ÔÀÇ ¹®¼­¸¦ º¸´ÂÁß)     zolac
12/22 4957
3199   $_GET[]ÀÌ ¹º°¡¿ä?[4]     qkreoghks00
09/23 9439
3198   %*c ÀÌÇØ°¡ ¾ÈµÊ[3]     È÷ÅÍƲ¾î
05/02 3066
3197   %lf ¿¡ ´ëÇÑ Áú¹®     Å·ÄáÅ·KKK
02/09 2721
3196   <cctype> °ú <ctype.h> ÀÇ Â÷ÀÌÁ¡ÀÌ ¹«¾ùÀΰ¡¿ä?[3]     gusiri
01/18 3036
  (ÀڷᱸÁ¶ ) SingleList Áß°£ Node »ðÀÔ ÇÔ¼ö ±¸ÇöÀÌ À߾ȵǿä!!![2]     h2spice
01/06 7417
3194   (ÀڷᱸÁ¶)ÀÌÁøŽ»öÆ®¸® °ü·Ã Áú¹®[4]     ksbgenius
05/29 4413
3193   (ÀÚ¹Ù)¾×¼ÇÀ̺¥Æ® °ü·Ã Áú¹®..[3]     ksbgenius
05/25 5572
3192   (Áú¹® ¼öÁ¤) ÇÁ·Î¼¼½º ID ¶ç¿ì´Â°Å ¸·´Â ÇÁ·Î±×·¥[3]     justdo2
07/09 2904
3191   (À©µµ¿ì api)ÇÚµé°ú Çڵ鷯?     h@cking2013
10/19 4399
3190   (Ãß°¡Áú¹®)C++ switch ¹®¾È¿¡ switch¹®À» ¶Ç ¾µ ¼ö ÀÖ³ª¿ä[3]     ksbgenius
05/22 7459
3189   (char*)&integer....[3]     soul214
06/26 5165
3188   (Visual Basic C++ 6.0) MFC À©µµ¿ì ÇÁ·Î±×·¡¹Ö ÇÒ¶§...[2]     a456753
05/29 4721
3187   (±Þ±¸)Åͺ¸ c¸¦ ´Ù¿î¹Þ¾Ò´Âµ¥ ¼³Ä¡¸¦...¾î¶»°Ô.......     828282jjj
03/21 4433
1 [2][3][4][5][6][7][8][9][10]..[161]

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