Page 162 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 162

실습 4C-1의  1        에서는 입력한 값을 a[cnt++ % N]에 저장합니다. 입력한 값이 어떤 과정으로 배열
                   요소에 저장되는지 자세히 살펴보겠습니다.



                   1. 1번째 값 입력하기
                   cnt는 0이고 10으로 나눈 나머지는 0입니다. 입력한 값은 a[0]에 저장됩니다.


                   2. 2번째 값 입력하기
                   cnt는 1이고 10으로 나눈 나머지는 1입니다. 입력한 값은 a[1]에 저장됩니다.


                                                                  실행 결과
                                                       정수를 입력하세요.
                                  
                                                       1번째 정수 : 15
                             9    0
                             55   97                 계속할까요?(Yes … 1/No … 0) : 1
                         8            1                2번째의 정수 : 17
                          44         85
                                                       계속할까요?(Yes … 1/No … 0) : 1
                        7
                        23           64 2            … 중략 …
                                                       12번째 정수 : 85
                            0        57
                         6            3                계속할까요?(Yes … 1/No … 0) : 0
                             21   99   
                             5    4                    3번째의 정수 = 64
                                                     4번째의 정수 = 57
                                                       5번째의 정수 = 99
                      ※원 안쪽의 숫자 … 요소의 인덱스
                          안의 숫자 … n번째로 입력한 값           … 중략 …
                                                       10번째의 정수 = 55
                                                       11번째의 정수 = 97
                                                       12번째의 정수 = 85

                                          [그림 4C-1] 링 버퍼에 값 입력하기

                   3. 3번째 값 입력하기

                   cnt는 2이고 10으로 나눈 나머지는 2입니다. 입력한 수는 a[2]에 저장됩니다.


                   … 중략 …


                   4. 11번째 값 입력하기
                   cnt는 10이고 10으로 나눈 나머지는 0입니다. 입력한 수는 a[0]에 저장됩니다. 1번째 위치의 데이터
                   를 11번째 데이터가 덮어씁니다.


                   5. 12번째 값 입력하기
                   cnt는 11이고 10으로 나눈 나머지는 1입니다. 입력한 수는 a[1]에 저장됩니다. 2번째 위치의 데이터
                   를 12번째 데이터가 덮어씁니다.




                   162   C 알고리즘
   157   158   159   160   161   162   163   164   165   166   167