<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[.]]></title>
<description><![CDATA[IT전문가를 위한 길잡이]]></description>
<link>http://kr.blog.yahoo.com/sdsduck</link>
<language>ko</language>
<image>
    <title><![CDATA[.]]></title>
    <url>http://img.yahoo.co.kr/blog/manage/banner_img01.gif</url>
    <description><![CDATA[IT전문가를 위한 길잡이]]></description>
    <link>http://kr.blog.yahoo.com/sdsduck</link>
</image>
<item>
    <title><![CDATA[[C/C++강좌]거품정렬]]></title>
    <description>
        &lt;DIV style=&quot;FONT-SIZE: 9pt; MARGIN: 5px 0px; FONT-FAMILY: 굴림&quot;&gt;&lt;FONT face=돋움 size=2&gt;거품정렬(bubble sort)은 여러 정렬 알고리즘 중 가장 비 효율적인 알고리즘 중 프로그램 좀 짤 줄 아는 사람은 아무도 사용하지 않는 천덕꾸러기 알고리즘이다.&amp;nbsp;&amp;nbsp; 하지만 정렬을 처음 배울때 가장 쉽게 접근 할수 있는 연고로 많은 책이나 교육기관에서 가장 처음에 등장하는 알고 리즘 이기도 하다.&lt;BR&gt;알아야 면장을 해먹듯이 &lt;BR&gt;잘 모르고 거품 정렬이 안좋네 효율이 떨어지네 하는 것은 말이 안된다.&lt;BR&gt;이제 거품 정렬 정도는 눈감고도 짤수 있도록 분석 해보고 짜 보기도 하자.&lt;BR&gt;&lt;BR&gt;1. 알고리즘&lt;BR&gt;&amp;nbsp;&amp;nbsp; ; 정렬 대상 자료 중 인접한 두 자료의 크기를 비교하여 맞바꾸는 방식으로 정렬한다(교환법)&lt;BR&gt;&lt;BR&gt;예)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;30 15 40 10 20&lt;BR&gt;1 round&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=red&gt;30 15&lt;/FONT&gt; 40 10 20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 30 &amp;gt; 15 이므로 교환&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;15 &lt;FONT color=red&gt;30 40&lt;/FONT&gt; 10 20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 40 &amp;gt; 30 이므로 교환안함&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;15 30 &lt;FONT color=red&gt;40 10&lt;/FONT&gt; 20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 40 &amp;gt; 10 이므로 교환&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;15 30 10 &lt;FONT color=red&gt;40 20&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 40 &amp;gt; 20 이므로 교환&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;15 30 10 20 &lt;FONT color=red&gt;40&lt;/FONT&gt;&lt;BR&gt;2 round&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=red&gt;15 30&lt;/FONT&gt; 10 20 &lt;FONT color=blue&gt;40&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :30 &amp;gt; 15 이므로 교환안함&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;15 &lt;FONT color=red&gt;30 10&lt;/FONT&gt; 20 &lt;FONT color=blue&gt;40&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :30 &amp;gt; 10 이므로 교환&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;15 10 &lt;FONT color=red&gt;30 20 &lt;/FONT&gt;&lt;FONT color=blue&gt;40&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :30 &amp;gt; 20 이므로 교환&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;15 10 20 &lt;FONT color=red&gt;30 &lt;/FONT&gt;&lt;FONT color=blue&gt;40&lt;/FONT&gt;&lt;BR&gt;3 round &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=red&gt;15 10 &lt;/FONT&gt;20 &lt;FONT color=blue&gt;30 40&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :15 &amp;gt; 10 이므로 교환&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;10 &lt;FONT color=red&gt;15 20 &lt;/FONT&gt;&lt;FONT color=blue&gt;30 40&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :20 &amp;gt; 15 이므로 교환안함&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;10 15 20 30 40&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;:더이상 교환이 없음. 정렬완료!!&lt;BR&gt;&lt;BR&gt;거품 정렬&amp;nbsp;&amp;nbsp;구현 소스&lt;BR&gt;&lt;BR&gt;#include &amp;lt;stdio.h&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //printf()&lt;BR&gt;#include &amp;lt;stdlib.h&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//srand(), rand(), RAND_MAX&lt;BR&gt;#include &amp;lt;time.h&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//time()&lt;BR&gt;&lt;BR&gt;// 거품 정렬 함수의 프로토타입 선언&lt;BR&gt;void bubble_sort(int *,int);&lt;BR&gt;&lt;BR&gt;// 프로그램의 엔트리 포인트&lt;BR&gt;void main()&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int nsu[10];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int i , N=10;&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 실행시마다 다른 계열의 난수가 발생되게 한다.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; srand(time(NULL));&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; puts(&quot;\n정렬전&quot;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//10~29 사이의 난수 10개를 발생시킨다.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for( i=0; i&amp;lt;N; i++)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nsu[i] = rand()*20/RAND_MAX + 10;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&quot;%d&amp;nbsp;&amp;nbsp;&quot;,nsu[i]);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bubble_sort(nsu, N);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; puts(&quot;\n정렬후&quot;);&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for( i=0; i&amp;lt;N; i++)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&quot;%d&amp;nbsp;&amp;nbsp;&quot;,nsu[i]);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&quot;\n&quot;);&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;void bubble_sort(int *a,int n)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int i,j,flag,temp;&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for(i=0; i&amp;lt;n-1 ; i++)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //n-1회전 비교/교환&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;flag=0;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for(j=0; j&amp;lt;n-i-1 ; j++)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//i-1번 비교/교환&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(a[j] &amp;gt; a[j+1])&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//앞에 값이 크면 교환&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;temp&amp;nbsp;&amp;nbsp;=&amp;nbsp;&amp;nbsp;a[j];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a[j]&amp;nbsp;&amp;nbsp;=&amp;nbsp;&amp;nbsp;a[j+1];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a[j+1]=&amp;nbsp;&amp;nbsp;temp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;flag=1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //교환 발생을 알리는 플래그&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(!flag)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//교환이 한번이 발생하지 않았으면&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;DIV style=&quot;MARGIN: 5px 0px&quot;&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV style=&quot;MARGIN: 5px 0px&quot;&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV style=&quot;MARGIN: 5px 0px&quot;&gt;&lt;FONT face=돋움 size=2&gt;[C언어전문가과정 문의 = &lt;/FONT&gt;&lt;A href=&quot;http://www.lesson-web.com/prom/c_main.htm&quot; target=_blank&gt;&lt;FONT face=돋움 size=2&gt;http://www.lesson-web.com/prom/c_main.htm&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=돋움 size=2&gt;]&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;
    </description>
    <link>http://kr.rd.yahoo.com/community/blog/myblog/rss/mesg20/*http://kr.blog.yahoo.com/sdsduck/403</link>
    <guid>http://kr.blog.yahoo.com/sdsduck/403</guid>
    <pubDate>Sun, 04 Feb 2007 06:05:51 +0900</pubDate>
    <category><![CDATA[C언어강좌]]></category>
</item>
<item>
    <title><![CDATA[[C/C++강좌]win32 api로 구현한 프랙탈 트리 소스]]></title>
    <description>
        &lt;DIV style=&quot;FONT-SIZE: 9pt; MARGIN: 5px 0px; FONT-FAMILY: 굴림&quot;&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;프랑스의 수학자 만델브로트(B. Mandelbrot)는 1967년 영국에서 발행되는 &lt;BR&gt;과학 잡지 [사이언스]에 느닷없이 '섬나라 영국을 둘러싸고 있는 해안선의 총 &lt;BR&gt;길이는 얼마인가'라는 제목의 글을 발표했다. 고도로 발달한 현대 과학이나 수&lt;BR&gt;학에서 보면 초보적인 질문이기 때문에 다소 엉뚱해 보인 이 글에서, 만델브&lt;BR&gt;로트는 영국의 해안선 길이는 어떤 자로 재느냐에 따라 얼마든지 달라질 수 &lt;BR&gt;있다고 주장했다. 1m짜리 자로 쟀을 때의 해안선 길이와 1km 단위의 자로 &lt;BR&gt;쟀을 때의 해안선 길이가 당연히 차이가 나듯이 만약 개미가 자기 몸에 줄자&lt;BR&gt;를 달고 해안선을 돌아 길이를 잰다면 1m 단위의 자로 잰 것과는 엄청난 차&lt;BR&gt;이를 낳을 것이라고 강조했다. 길이를 재는 자의 단위가 작을수록 해안선의 &lt;BR&gt;둘레는 그만큼 길어질 것이라는 주장이었다. 해안선의 길이는 재는 자의 길이&lt;BR&gt;에 달려 있다는 것이었다. 당시엔 별 주목을 끌지 못한 만델브로트의 이 글은 &lt;BR&gt;오래지 않아 '프랙탈 이론'의 선구적 논문으로 지목되어 많은 과학자들로 하&lt;BR&gt;여금 부랴부랴 해묵은 [사이언스]지를 뒤적이게 만들었다.&lt;BR&gt;&amp;nbsp; 카오스 이론, 혼돈이론, 프랙탈 이론 등으로 불리는 이 최신 이론은 최근 &lt;BR&gt;들어 과학자 사회에서 지지 기반을 광범위하게 넓혀 가면서 열성적인 지지자&lt;BR&gt;들에 의해 상대성 이론, 양자역학과 함께 현대 과학의 3대 혁명 중의 하나로 &lt;BR&gt;추대되고 있다. 이전의 과학은 미시 세계, 거시 세계의 규칙성에만 주의를 기&lt;BR&gt;울여 왔으나 이제는 복잡성의 세계가 새로운 과학의 주제로 떠올랐다는 것이&lt;BR&gt;다.&lt;BR&gt;&amp;nbsp; 카오스 이론과 프랙탈 이론은 결국은 같은 말인데 굳이 엄밀하게 구분해 보&lt;BR&gt;자면 겉으로는 불규칙해 보이는 현상들 가운데서도 자세히 관찰해 보면 어떤 &lt;BR&gt;규칙성을 찾을 수 있다는 것이 카오스(혼돈)이고 그 혼돈된 상태를 공간적인 &lt;BR&gt;구조로, 즉 기하학적이고 규칙적으로 표현한 것이 프랙탈이다. 프랙탈은 카오&lt;BR&gt;스를 기술하는 언어인 셈이다.&lt;BR&gt;&amp;nbsp; 카오스 이론 하면 일반인들이 가장 먼저 떠올리는 것이 '나비 효과' 라는 &lt;BR&gt;애교스러운 이름일 것 같다. 오늘 서울 하늘에서 나비 한 마리가 날개 짓을 &lt;BR&gt;한 것이 며칠 뒤엔 뉴욕의 날씨에 영향을 끼쳐 큰 바람을 일으킬 수 있다는, &lt;BR&gt;사람들의 귀를 솔깃하게 하긴 하지만 다소 과장이 섞인 이야기 말이다. 아무&lt;BR&gt;튼 카오스 이론은 이처럼 겉으로 보기엔 불규칙적이고 제멋대로이기 때문에 &lt;BR&gt;종래의 물리학이나 수학에서 제쳐놓았던 분야들에 관심을 갖는 것에서 출발한&lt;BR&gt;다.&lt;BR&gt;&amp;nbsp; 여태까지의 물리학이나 생물학은 기상의 변화, 동물의 번식, 난류의 흐름, &lt;BR&gt;커피에 탄 프림이 어떤 운동을 하는지 등에 대해 한정적으로만 다루었다. 예&lt;BR&gt;컨대 일기 예보는 기압, 바람, 온도 정도의 적은 수의 변수만 따져서 하루나 &lt;BR&gt;이틀 뒤, 혹은 장기적인 기상 변화를 예측하기 때문에 정확도가 떨어질뿐더러 &lt;BR&gt;기상 변화의 원인을 정확히 설명하지 못한다. 마찬가지로 어느 숲에서 송충이&lt;BR&gt;가 번식하는데 어느 해엔 번식력이 왕성했다가 그 다음해엔 완만해진다든지, &lt;BR&gt;인구 증감이 어떤 규칙성을 띠고 있는지 등에 대해 종전까지의 생물학이나 인&lt;BR&gt;구학에서는 변화를 제대로 설명하지 못하거나 전망하지 못했다. 카오스 이론&lt;BR&gt;에서는 복잡한 자연 현상에는 수많은 변화 요인이 있기 때문에 서너 가지의 &lt;BR&gt;변수만으로 그것을 설명하려는 것 자체가 무리라고 주장한다. 일식이나 월식, &lt;BR&gt;혜성의 주기, 조수의 간만 등은 뉴턴 역학에서처럼 몇 가지의 변수만 가지고&lt;BR&gt;도 설명이 가능하다. 즉 태양과 지구의 인력, 행성과 행성간의 인력 등만 고려&lt;BR&gt;하면 되는 것이다. 그 밖의 요인들은 이들의 운동에 영향을 끼치지 않을 정도&lt;BR&gt;로 사소하기 때문에 무시해도 된다고 본다. 카오스 이론은 이 '사소한 요인'들&lt;BR&gt;에 주목한다. 이제까지의 일기 예보가 나비의 운동과 같은 사소한 것을 소홀&lt;BR&gt;히 해 왔다면 카오스 이론에서는 그것이야말로 변화를 일으키는 동력이 될 수 &lt;BR&gt;있다고 주장하는 것이다. 따라서 이들은 사소한 변화에 민감한 현상들에 주의&lt;BR&gt;를 모은다.&lt;BR&gt;&amp;nbsp; 만델브로트의 '해안선의 측정'의 예에서 보여 주듯이 우리는 상식적으로 해&lt;BR&gt;안선의 길이를 측정하는 데 아주 미세한 굴곡들은 무시해도 별 상관이 없을 &lt;BR&gt;것처럼 생각한다. 그러나 실제로는 그 미세한 굴곡을 어떻게 처리하느냐에 따&lt;BR&gt;라 하늘과 땅만큼의 차이가 난다는 것을 확인할 수 있는 것이다. 그러면 과연 &lt;BR&gt;해안선의 길이는 얼마까지 세밀하게 측정될 수 있는가? 1m의 자로 잰다고 하&lt;BR&gt;더라도 다시 50cm 단위의 자로 재면 길이가 더 늘어날 것이고 다시 10cm의 &lt;BR&gt;자로 재면 또 늘어나고... 한없이 밀고 나갈 수가 있을 것이다. 결국 무한한 &lt;BR&gt;길이가 된다는 말인가? &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR&gt;&lt;FONT face=돋움 size=2&gt;아래의 소스는 프래탈을 이용하여 실제 나무에 가까운 모습을 재현한&lt;BR&gt;소스이다. &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;소스의 실행 방법은 visual c++에서 win32 application으로 프로 젝트를 만들고 컴파일 하여 실행 하면 확인 할 수 있다.&lt;BR&gt;*/&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;#include &amp;lt;windows.h&amp;gt;&lt;BR&gt;#include &amp;lt;math.h&amp;gt;&lt;BR&gt;#include &amp;lt;malloc.h&amp;gt;&lt;BR&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;BR&gt;#include &amp;lt;time.h&amp;gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;#define&amp;nbsp;&amp;nbsp; PI&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.141592&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;LRESULT WndProc(HWND,UINT,WPARAM,LPARAM);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;BOOL InitApp(HINSTANCE hInstance, char *cname)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WNDCLASS wc;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wc.style&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wc.lpfnWndProc&amp;nbsp;&amp;nbsp; = (WNDPROC)WndProc;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wc.cbClsExtra&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wc.cbWndExtra&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wc.hInstance&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = hInstance;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wc.hIcon&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = LoadIcon(NULL,IDI_APPLICATION);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wc.hCursor&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = LoadCursor(NULL, IDC_ARROW);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wc.lpszMenuName&amp;nbsp; = NULL;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wc.lpszClassName&amp;nbsp; = cname;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return RegisterClass(&amp;amp;wc);&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;void InitInst(HINSTANCE hInstance, int nCmdShow, char * cname, char *title)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HWND&amp;nbsp; hWnd;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hWnd = CreateWindow(&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cname,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; title,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WS_OVERLAPPEDWINDOW,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CW_USEDEFAULT,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CW_USEDEFAULT,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CW_USEDEFAULT,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CW_USEDEFAULT,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NULL,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NULL,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hInstance,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NULL);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ShowWindow(hWnd, nCmdShow);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UpdateWindow(hWnd);&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;void fractal_tree(HDC, int,double);&lt;BR&gt;int&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d;&lt;BR&gt;LPPOINT&amp;nbsp; p;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInstance,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPSTR lpCmdLine, int nShowCmd)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MSG msg;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitApp(hInstance,&quot;fractal&quot;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitInst(hInstance,nShowCmd,&quot;fractal&quot;,&quot;fractal_tree&quot;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while( GetMessage(&amp;amp;msg, NULL,0,0))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TranslateMessage(&amp;amp;msg);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DispatchMessage(&amp;amp;msg);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return msg.wParam;&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;LRESULT WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static short c_width, c_height;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HDC hdc;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PAINTSTRUCT ps;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch(msg)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case WM_SIZE:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c_width = LOWORD(lParam);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c_height = HIWORD(lParam);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case WM_PAINT:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hdc = BeginPaint(hWnd, &amp;amp;ps);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; p = (LPPOINT)malloc(sizeof(POINT));&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d = 90;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MoveToEx(hdc, c_width/2, c_height - 10, NULL);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; srand( time(NULL));&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fractal_tree(hdc, 10, c_height*0.2);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EndPaint(hWnd,&amp;amp;ps);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case WM_DESTROY:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PostQuitMessage(0);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; default:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return DefWindowProc(hWnd,msg,wParam,lParam);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;#define&amp;nbsp; rotation(gdo)&amp;nbsp; (d=(d+(gdo))%360)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;void fractal_tree(HDC hdc, int n, double l)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int dx, dy, x, y, left, right;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; double r;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetCurrentPositionEx(hdc,p);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x = p-&amp;gt;x;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; y = p-&amp;gt;y;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dx = l * cos(d*PI/180);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dy = -l* sin(d*PI/180);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SelectObject(hdc, CreatePen(PS_SOLID, n/2+1, 0));&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LineTo(hdc,x+dx,y+dy);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r = 0.2*rand()/RAND_MAX + 0.7;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(n&amp;gt;0)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; left = 30*rand()/RAND_MAX+30;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rotation( left );&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fractal_tree(hdc,n-1,l*r);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; right = -70*rand()/RAND_MAX-30;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rotation(right);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fractal_tree(hdc,n-1,l*r);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rotation( -(left + right) );&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(n==0)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SelectObject(hdc, CreateSolidBrush(RGB(255,0,0)));&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetCurrentPositionEx(hdc,p);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x = p-&amp;gt;x;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; y = p-&amp;gt;y;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ellipse(hdc, x-4, y-4, x+4, y+4);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MoveToEx(hdc,x,y,NULL);&lt;BR&gt;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;[C언어전문가과정 문의 = &lt;/FONT&gt;&lt;A href=&quot;http://www.lesson-web.com/prom/c_main.htm&quot; target=_blank&gt;&lt;FONT face=돋움 size=2&gt;http://www.lesson-web.com/prom/c_main.htm&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=돋움 size=2&gt;]&lt;/FONT&gt;&lt;/P&gt;&lt;DIV style=&quot;MARGIN: 5px 0px&quot;&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;
    </description>
    <link>http://kr.rd.yahoo.com/community/blog/myblog/rss/mesg20/*http://kr.blog.yahoo.com/sdsduck/402</link>
    <guid>http://kr.blog.yahoo.com/sdsduck/402</guid>
    <pubDate>Fri, 10 Feb 2006 13:39:59 +0900</pubDate>
    <category><![CDATA[C언어강좌]]></category>
</item>
<item>
    <title><![CDATA[[C/C++강좌]win32 api로 구현한 각종 정렬의 시뮬레이션]]></title>
    <description>
        &lt;P&gt;&lt;FONT face=돋움 size=2&gt;/* 본 소스는 이재규씨가 저술한 &quot;C로 배우는 알고리즘&quot;의 정렬 부분에서&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 그림으로만 나온 각 정렬의 성능을 비교하는 시뮬레이션을 api를&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 이용해서 실제로 구현해본 소스입니다.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 각 정렬의 상세 알고 리즘에 차후의 강의 에서 다룰 것이므로 생략을 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 했고 시뮬레이션 소스 부분만을 설명 했습니다.&lt;BR&gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 기본적으로 C와 win32api의 기본 지식이 있어야 하며&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; win32api는 김상형씨가 쓴책이 처음 보기에 좋습니다.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; c 책은 좋은게 워낙 많으니깐 ...&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 알고리즘을 공부 할때는 딱딱한 수식이 즐비한 수학기반의&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 책을 보기 보담 눈으로 바로 확인 할 수 있는 그래픽한 소스 기반&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 으로 공부 하는게 질리지 않고 끝까지 할 수 있습니다.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 보통 사람들이 알고리즘을 할 때 정렬까지는 엄청 쉬운듯이 말 하지만&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 정렬 알고리즘은 이 전 세대가 수 백년 동안 작성한 가장 완성도 있는 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 알고리즘이라 할 수 있습니다.&lt;BR&gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 코드는 짧지만 이해하기는 매우 어려 우며&amp;nbsp; 예제를 보지 않고 구현 하기란&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 더욱 어렵습니다.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 보통 알고리즘의 기본이 되며 기본이 쉽다는것을 의미 하는것은 아닙니다.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 알고리즘의 원류를 알고 있는 사람은 어떤 문제가 닥쳐 와도 해결 할 수&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 있는 능력을 보유 하고 있습니다.&lt;BR&gt;*/&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;#include &amp;lt;windows.h&amp;gt;&lt;BR&gt;#include &amp;lt;stdio.h&amp;gt;&lt;BR&gt;#include &amp;lt;stdlib.h&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //srand(), rand(), RAND_MAX&lt;BR&gt;#include &amp;lt;time.h&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //time()&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;LRESULT WndProc(HWND,UINT,WPARAM,LPARAM);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;BOOL InitApp(HINSTANCE hInstance, char *cname)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WNDCLASS wc;&amp;nbsp;&amp;nbsp; //윈도우의 공통적인 특성을 정의 하는 구조체&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wc.style&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wc.lpfnWndProc&amp;nbsp;&amp;nbsp; = (WNDPROC)WndProc;&amp;nbsp; //윈도우 프로시저 주소&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wc.cbClsExtra&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wc.cbWndExtra&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wc.hInstance&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = hInstance;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wc.hIcon&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = LoadIcon(NULL,IDI_APPLICATION);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wc.hCursor&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = LoadCursor(NULL, IDC_ARROW);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wc.lpszMenuName&amp;nbsp; = NULL;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wc.lpszClassName&amp;nbsp; = cname;&amp;nbsp; //구조체의 이름, 윈도우 클래스를 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //유일하게 식별한다.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return RegisterClass(&amp;amp;wc);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //운영체제에게 구조체의 주소를 등록&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;void InitInst(HINSTANCE hInstance, int nCmdShow, char * cname, char *title)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HWND&amp;nbsp; hWnd;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hWnd = CreateWindow(&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cname,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; title,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WS_OVERLAPPEDWINDOW,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CW_USEDEFAULT,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CW_USEDEFAULT,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CW_USEDEFAULT,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CW_USEDEFAULT,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NULL,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NULL,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hInstance,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NULL);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ShowWindow(hWnd, nCmdShow);&amp;nbsp; //메모리에 있는 원도우 객체를 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //화면상에 보여줌&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UpdateWindow(hWnd);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //WM_PAINT 메시지를 생성&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;// 각 정렬 함수의 프로토타입 선언&lt;BR&gt;void bubble_sort(HDC, int *,int);&lt;BR&gt;void select_sort(HDC, int *,int);&lt;BR&gt;void insert_sort(HDC, int *,int);&lt;BR&gt;void shell_sort(HDC, int *,int);&lt;BR&gt;void quick_sort(HDC, int *,int,int);&lt;BR&gt;void radix_sort(HDC, int *, int, int, int);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;BR&gt;&lt;FONT face=돋움 size=2&gt;// 프로그램의 엔트리 포인트&lt;BR&gt;int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInstance,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPSTR lpCmdLine, int nShowCmd)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MSG msg;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitApp(hInstance,&quot;init.h&quot;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitInst(hInstance,nShowCmd,&quot;init.h&quot;,&quot;bubble_sort&quot;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while( GetMessage(&amp;amp;msg, NULL,0,0))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TranslateMessage(&amp;amp;msg);&amp;nbsp; //WM_CHAR 메시지 생성&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DispatchMessage(&amp;amp;msg);&amp;nbsp;&amp;nbsp; //프로시져 호출&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return msg.wParam;&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;#define BLACK RGB(0,0,0)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //매크로 상수를 사용하여 코드를 간단하게..&lt;BR&gt;#define WHITE RGB(255,255,255)&amp;nbsp; //RGB()는 매크로 함수&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;LRESULT WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int x, nsu[2000];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int c_width, c_height;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HDC hdc;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch(msg)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case WM_SIZE:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c_width = LOWORD(lParam);&amp;nbsp; //클라이언트 영역의 가로크기&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c_height = HIWORD(lParam);&amp;nbsp; //클라이언트 영역의 세로크기&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hdc = GetDC(hWnd);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //디바이스 컨텍스트의 핸들얻기&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(x=0; x&amp;lt;c_width; x++)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 0 ~ c_height 사이의 랜덤 값을 생성 한다.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // rand()함수의 생성 범위 0~32767&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // RAND_MAX 는 0x7fff 즉 32767의 매크로 상수임&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nsu[x] = c_height*rand()/RAND_MAX; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 세로의 픽셀 단위의 한 줄에 가로로 랜덤한 곳에 점을찍음&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc,x,nsu[x],BLACK);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;BR&gt;&lt;FONT face=돋움 size=2&gt;//아래에 있는 함수 중 디스플레이 하고 싶은 함수만 주석을 풀고 실행한다.&lt;BR&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bubble_sort(hdc,nsu,c_width);&amp;nbsp; // 거품 정렬&lt;BR&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select_sort(hdc,nsu,c_width);&amp;nbsp;&amp;nbsp; // 선택 정렬&lt;BR&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; insert_sort(hdc,nsu,c_width);&amp;nbsp;&amp;nbsp;&amp;nbsp; // 삽입 정렬&lt;BR&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shell_sort(hdc,nsu,c_width);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 쉘 정렬&lt;BR&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; quick_sort(hdc,nsu,c_width,0);&amp;nbsp; // 퀵 정렬&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; radix_sort(hdc, nsu, c_width, 31, 0);&amp;nbsp; // 기수 정렬&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ReleaseDC(hWnd,hdc);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case WM_DESTROY:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PostQuitMessage(0);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; default:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return DefWindowProc(hWnd,msg,wParam,lParam);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;void bubble_sort(HDC hdc, int *a,int n)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i,j,flag,temp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0; i&amp;lt;n-1 ; i++)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; flag=0;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(j=0; j&amp;lt;n-i-1 ; j++)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(a[j] &amp;gt; a[j+1])&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc,&amp;nbsp; j, a[j],WHITE);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc,j+1, a[j],BLACK);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc, j+1, a[j+1], WHITE);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc, j&amp;nbsp; , a[j+1], BLACK);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp&amp;nbsp; =&amp;nbsp; a[j];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[j]&amp;nbsp; =&amp;nbsp; a[j+1];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[j+1]=&amp;nbsp; temp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; flag=1;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(!flag)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sleep(1);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;void select_sort(HDC hdc, int *a,int n)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i,j,chd,max;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0; i&amp;lt;n-1 ; i++)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chd = i;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; max = a[i];&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(j=i+1; j&amp;lt;n; j++)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(a[j] &amp;gt; max)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chd = j;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; max = a[j];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc,&amp;nbsp; chd, a[chd],WHITE);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc,&amp;nbsp;&amp;nbsp;&amp;nbsp; i, a[chd],BLACK);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc,&amp;nbsp;&amp;nbsp; i, a[i], WHITE);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc, chd, a[i], BLACK);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[chd] = a[i];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[i] = max;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sleep(1);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;void insert_sort(HDC hdc, int *a,int n)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp; i, j, temp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=1; i&amp;lt;n; i++)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp = a[i];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; j = i-1;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(j&amp;gt;=0 &amp;amp;&amp;amp; a[j]&amp;gt;temp)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc,&amp;nbsp; j, a[j],WHITE);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc,j+1, a[j],BLACK);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[j+1]=a[j];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; j--;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc, i, temp, WHITE);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc, j+1&amp;nbsp; , temp, BLACK);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[j+1] = temp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sleep(10);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;void shell_sort(HDC hdc, int *a,int n)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i, j, temp, term;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int start;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; term = n;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while( term &amp;gt; 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; term = term/3 +1;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(start=0; start&amp;lt;term; start++)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=start; i&amp;lt;n; i+=term)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp = a[i];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; j = i - term;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while( j&amp;gt;=0 &amp;amp;&amp;amp; a[j]&amp;gt;temp)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc, j, a[j], WHITE);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc, j+term&amp;nbsp; , a[j], BLACK);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[j+term] = a[j];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; j -= term;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc, i, temp, WHITE);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc, j+term&amp;nbsp; , temp, BLACK);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[j+term] = temp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sleep(10);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;void quick_sort(HDC hdc, int *a, int n, int x)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i,j;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int key, temp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(n &amp;gt; 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; key = a[0];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i = 0;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; j = n;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(1)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(a[++i] &amp;lt; key);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(a[--j] &amp;gt; key);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(i &amp;gt;= j)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc, x+i, a[i], WHITE);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc, x+j, a[i], BLACK);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc, x+j, a[j], WHITE);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc, x+i, a[j], BLACK);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp = a[i];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[i] = a[j];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[j] = temp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc, x+0, key, WHITE);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc, x+j, key, BLACK);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc, x+j, a[j], WHITE);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc, x+0, a[j], BLACK);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[0] = a[j];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[j] = key;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; quick_sort(hdc, a&amp;nbsp;&amp;nbsp;&amp;nbsp; , j&amp;nbsp;&amp;nbsp;&amp;nbsp; , x);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; quick_sort(hdc, a+j+1, n-j-1, x+j+1);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sleep(10);&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;void radix_sort(HDC hdc, int *a, int n, int b, int x)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i, j, temp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(n&amp;gt;1 &amp;amp;&amp;amp; b&amp;gt;=0)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i = 0 ;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; j = n-1;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(1)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while( ((a[i] &amp;gt;&amp;gt; b)&amp;amp;1) == 0 &amp;amp;&amp;amp; i&amp;lt;j)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i++;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while( ((a[j] &amp;gt;&amp;gt; b)&amp;amp;1) == 1 &amp;amp;&amp;amp; i&amp;lt;j)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; j--;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(j &amp;lt;= i )&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc, x+i, a[i], WHITE);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc, x+j, a[i], BLACK);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc, x+j, a[j], WHITE);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetPixel(hdc, x+i, a[j], BLACK);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp = a[i];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[i] = a[j];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[j] = temp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if( ((a[n-1] &amp;gt;&amp;gt; b)&amp;amp; 1) == 0)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; j++;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; radix_sort(hdc,&amp;nbsp; a,&amp;nbsp; j,&amp;nbsp; b-1,&amp;nbsp; x);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; radix_sort(hdc,&amp;nbsp; a+j, n-j, b-1, x+j);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sleep(10);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;}&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp; &lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR&gt;&lt;FONT face=돋움 size=2&gt;[C언어전문가과정 문의 = &lt;/FONT&gt;&lt;A href=&quot;http://www.lesson-web.com/prom/c_main.htm&quot; target=_blank&gt;&lt;FONT face=돋움 size=2&gt;http://www.lesson-web.com/prom/c_main.htm&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=돋움 size=2&gt;]&lt;/FONT&gt;&lt;/P&gt;
    </description>
    <link>http://kr.rd.yahoo.com/community/blog/myblog/rss/mesg20/*http://kr.blog.yahoo.com/sdsduck/401</link>
    <guid>http://kr.blog.yahoo.com/sdsduck/401</guid>
    <pubDate>Fri, 10 Feb 2006 13:35:04 +0900</pubDate>
    <category><![CDATA[C언어강좌]]></category>
</item>
<item>
    <title><![CDATA[[C/C++강좌]t 없이 swap하기]]></title>
    <description>
        &lt;DIV style=&quot;FONT-SIZE: 9pt; MARGIN: 5px 0px; FONT-FAMILY: 굴림&quot;&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;전통적인 스와핑&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;main()&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp; a=3, b=4, t;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t = a;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a = b;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b = a;&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;이렇게 하면&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp; 세 변수가 지역 변수 이기에 stack 메모리에 각각 4byte씩&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t&lt;BR&gt;-----------------------------------&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;BR&gt;-----------------------------------&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;잡히게 되며&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;①&amp;nbsp;&amp;nbsp; t = a; 시에&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t&lt;BR&gt;-----------------------------------&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;BR&gt;-----------------------------------&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;②&amp;nbsp; a = b;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t&lt;BR&gt;-----------------------------------&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;BR&gt;-----------------------------------&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;③ b = t;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t&lt;BR&gt;-----------------------------------&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;BR&gt;-----------------------------------&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;이같은 일련의 과정을 통해 임시변수 t를 이용하여 a와 b의 값이 바뀌었다..&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;여기선 우린 이런 생각을 할수 있다....&amp;nbsp;&amp;nbsp; &quot; 왜 내가 스와핑을 하는데 제 3자가 관여를 하는거야??&amp;nbsp; 기분 나쁘군&quot;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;덧셈을 이용한 스와핑&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;main()&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp; a=3, b=4;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a = a+b;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b = a-b;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a = a-b;&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;이렇게 하면&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp; 두 변수가 지역 변수 이기에 stack 메모리에 각각 4byte씩&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;-----------------------------------&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;-----------------------------------&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;잡히게 되며&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;①&amp;nbsp;&amp;nbsp; a = a+b; 시에&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;-----------------------------------&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; 7&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;-----------------------------------&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;②&amp;nbsp; b = a-b; //7-4이므로&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;-----------------------------------&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; 7&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;-----------------------------------&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;③&amp;nbsp; a = a-b; //b는 위 연산에서 3으로 바뀌었으므로 7-3이 a에 대입된다.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;-----------------------------------&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;-----------------------------------&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;BR&gt;&lt;FONT face=돋움 size=2&gt;놀랍지 안은가?&amp;nbsp;&amp;nbsp; 이건 잔머리의 승부다....&amp;nbsp;&amp;nbsp; a+b가 a의 정보와 b의 정보를&lt;BR&gt;포함한다는데서 힌트를 얻을 수 있다.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;그런데 문제점은&amp;nbsp; 덪셈이기 때문에 오버플로우를 걱정 해야 한다. 만약&lt;BR&gt;두변수의 값이 int의 양의 정수 최대 표기인 21억을 넘어가는 숫자에 대해서는 스왑을 할수가 없다.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;그렇다면 곱셈을 이용한 스왑을 생각 할수도 있는데 이럴 경우 문제는 더 심각하다.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;a = a*b;&lt;BR&gt;b = a/b;&lt;BR&gt;a = a/b;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;물론 작은수에 대해서 스왑이 잘 되지만.. 덪셈보다 오버플로우가 더 심하고..&lt;BR&gt;b가 0인 경우는 수학적 불능이기 때문에 스왑이 일어나지 않는다.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;그래서 최종적 대안이 상호배타 비트합을 이용하는 기법이다.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;X-OR를 이용한 스와핑&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;main()&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp; a=3, b=4;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a = a^b;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b = a^b;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a = a^b;&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;이렇게 하면&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp; 두 변수가 지역 변수 이기에 stack 메모리에 각각 4byte씩&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;-----------------------------------&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;-----------------------------------&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;잡히게 되며&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;①&amp;nbsp;&amp;nbsp; a = a^b; 시에&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;0011 ^ 0100 =&amp;gt; 0111 이므로&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;-----------------------------------&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; 7&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;-----------------------------------&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;②&amp;nbsp; b = a^b; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;0111 ^ 0100 =&amp;gt; 0011 이므로&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;-----------------------------------&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; 7&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;-----------------------------------&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;③&amp;nbsp; a = a^b; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;//b는 위 연산에서 3으로 바뀌었으므로 &lt;BR&gt;&amp;nbsp; 0111 ^ 0011 =&amp;gt; 0100&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;-----------------------------------&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;-----------------------------------&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;a = a^b;&lt;BR&gt;b = a^b;&lt;BR&gt;a = a^b;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;위식의 간략화&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;a ^= b;&lt;BR&gt;b ^= a;&lt;BR&gt;a ^= b;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;더 간략화&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;a ^= b ^= a ^= b;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;캬.... 멋지지 않은가?? 한줄로 스와핑이 일어 났다...&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;비트의 오버플로우도 일어나지 않았고, 덧셈이나 곱셈보다 비트 필드 연산이&lt;BR&gt;빠르기 빼문에 고속의 스와핑이 일어난다..&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;그렇다면 문제는 없는가?&amp;nbsp; 문제는... 그러니까 문제는...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;a ^= b ^= a ^= b; 이식을 보고 누가 스와핑 코드인줄 알겠는가?&lt;BR&gt;가독성은 프로젝트에서 엄청 중요한 문제이고&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;저런 코드는 유지보수에 백해무익 하다....&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;또한&amp;nbsp; 실수 연산에서는 사용할 수 없다.&amp;nbsp; 실수의 비트열은 정수와 완전히 다르기 때문에 x-or연산을 했을시 원치않는 결과를 초래한다.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;결과적으로 이 코드는 절대 수정될 일이 없는 매우 빠른 속도를 원하는 곳에&lt;BR&gt;사용 하면 된다.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;또한 이런 사실을 아는 사람은 이 코드가 스와핑이라는 것을 알수 있기에 이 기법을 다뤄 본다.&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp; &lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;DIV style=&quot;MARGIN: 5px 0px&quot;&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV style=&quot;MARGIN: 5px 0px&quot;&gt;&lt;BR&gt;&lt;FONT face=돋움 size=2&gt;[C언어전문가과정 문의 = &lt;/FONT&gt;&lt;A href=&quot;http://www.lesson-web.com/prom/c_main.htm&quot; target=_blank&gt;&lt;FONT face=돋움 size=2&gt;http://www.lesson-web.com/prom/c_main.htm&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=돋움 size=2&gt;]&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;
    </description>
    <link>http://kr.rd.yahoo.com/community/blog/myblog/rss/mesg20/*http://kr.blog.yahoo.com/sdsduck/400</link>
    <guid>http://kr.blog.yahoo.com/sdsduck/400</guid>
    <pubDate>Fri, 10 Feb 2006 13:34:42 +0900</pubDate>
    <category><![CDATA[C언어강좌]]></category>
</item>
<item>
    <title><![CDATA[[JAVA/SCJP강좌][JSP기초#27]태그라이브러리의 동작]]></title>
    <description>
        &lt;DIV style=&quot;FONT-SIZE: 9pt; MARGIN: 5px 0px; FONT-FAMILY: 굴림&quot;&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;커스텀태그의 수행은 실제 자바클래스가 담당한다. 즉 커스텀태그를 만든다는것은 원하는 기능의 자바클래스를 설계하는 것이다.이러한 자바클래스를 Custom Tag Handler라고 한다. &lt;BR&gt;기본동작 &lt;BR&gt;- JSP에서 태그라이브러리를 사용할려면 이를 JSP Container에게 알려야 하는데 taglib 지시자를 이용한다. &lt;BR&gt;- &amp;lt;%@ taglib uri=“/WEB-INF/sample.tld”&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prefix=“jclee” %&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uri : 해당 커스텀태그 라이브러리에 대한 위치를 알린다. &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prefix : 사용할 태그라이브러리의 이름을 가리킨다. 접두사 &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;BR&gt;&lt;FONT face=돋움 size=2&gt;- JSP콘테이너는 JSP페이지를 읽고 서블릿으로 변환할때 taglib지시자를 만나며 이때 .tld 파일이 로드되었는지 확인하며 만약 로드되지 않았다면 로드하고, 이미 로드 되었다면 넘어간다 &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;커스텀태그 라이브러리는 TLD(Tag Linrary Descriptor)와 Custom Tag Handler로 구분 할수 있다. &lt;BR&gt;TLD 파일은 JSP콘테이너가&amp;nbsp; taglib 지시자를 만났을때 제일 먼저 찾는 파일이다. 이파일에는 커스텀태그에 관한 간략한 정보들이 들어있다. 즉 TLD 파일은 JSP를 서블릿으로 컴파일할때 커스텀태그가 올바른 것인지 , 사용 문법에 맞는지등을 검사할때 이용되는 파일이다. &lt;BR&gt;태그의 요청이 있다면 핸들러의 작업을 담당하는 자바클래스가 JVM에 로드되어 수행된다. 물론 로드된 클래스는 공유가 가능하다. 매 요청마다 일일이 인스턴스를 만드는것은 아니며 공유하여 사용한다. &lt;BR&gt;보통 커스텀태그 라이브러리는 JAR 압축파일로 이루어져 있으며 이 파일은 태그핸들러를 구성하는 자바클래스와 수행되는 태그들의 간단한 정보와 목록이 있는 TLD 파일로 구성되어 있다. &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV style=&quot;MARGIN: 5px 0px&quot;&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV style=&quot;MARGIN: 5px 0px&quot;&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV style=&quot;MARGIN: 5px 0px&quot;&gt;&lt;BR&gt;&lt;FONT face=돋움 size=2&gt;[자바전문가과정 문의 = &lt;/FONT&gt;&lt;A href=&quot;http://www.lesson-web.com/prom/java_main.htm&quot; target=_blank&gt;&lt;FONT face=돋움 size=2&gt;http://www.lesson-web.com/prom/java_main.htm&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=돋움 size=2&gt;]&lt;BR&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;
    </description>
    <link>http://kr.rd.yahoo.com/community/blog/myblog/rss/mesg20/*http://kr.blog.yahoo.com/sdsduck/399</link>
    <guid>http://kr.blog.yahoo.com/sdsduck/399</guid>
    <pubDate>Fri, 10 Feb 2006 13:34:02 +0900</pubDate>
    <category><![CDATA[JAVA강좌]]></category>
</item>
<item>
    <title><![CDATA[[JAVA/SCJP강좌][JSP기초#26]Tag Extension & Library란 무엇인가?]]></title>
    <description>
        &lt;P&gt;&lt;FONT face=돋움 size=2&gt;-----&amp;nbsp; 태그확장 &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;JSP Code의 문제 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - HTML과 자바코드의 혼재 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (서블릿 유지보수보다 JSP유지 보수가 더 어려울수 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 있다.) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 표현과 로직의 정확한 분리어려움 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (웹개발자와 디자이너와의 명확한 역할분담 어려움) &lt;BR&gt;이러한 문제의 해결위해 최대한 HTML/XML등과 가까운 템플릿 메커니즘이 필요 &lt;BR&gt;결국 이상의 이유로 JSP1.1에서 Tag Extension이 도입 &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;JavaBean을 사용하기 위한 태그의 종류는 한계가 있으며, 그러한 태그들로는 JavaBean의 Property(속성)에만 접근이 가능하며 세밀한 초기화나 조작등이 필요한 경우에는 스크립틀릿 안에서 메소드를 호출해야 한다. &lt;BR&gt;커스텀태그 라이브러리는 JSP페이지에서 자바코드를 직접 이용하지 않고 사용할수 있도록 하는 기술 &lt;BR&gt;자바빈즈를 이용하여 자바코드를 JSP에서 분리할수도 있겠지만 자바빈즈는 독립적으로 실행될수 있는 Component이기에 이를 그대로 JSP페이지에서 사용할려면 특별한 장치가 필요한데 이것이 곧 태그라이브러리이다. &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;BR&gt;&lt;FONT face=돋움 size=2&gt;사용자가 정의해서 사용하는 태그 &lt;BR&gt;특징 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 반복적인 일을 단순하게 만든다. &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 표현영역과 연산영역을 분리 시킨다. &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 일관성있는 웹페이지의 구성이 가능 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 재사용 &lt;BR&gt;일반적인 빈에 비해 태그들은 좀더 풍부한 실행시점 프로토콜을 가진다. &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 초기화 과정에서 태그의 실행에 꼭 필요한 속성을 설정해야 하는 경우가 있다. 이는 빈의 생성자에 대비 &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;BR&gt;&lt;FONT face=돋움 size=2&gt;- 초기화 과정에서 태그의 실행에 꼭 필요한 속성을 설정해야 하는 경우가 있다. 이는 빈의 생성자에 대비 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - JSP안에서 빈들이 가지는 문맥은 Web Application의 요구에 그리 적합하지 않다. 빈 내부에서는 paceContext등의 기본 개념이 없다. &lt;BR&gt;JSP엔진이 하나의 태그를 읽으면 그에 해당하는 Action을 시작하고 (태그 인스턴스 생성) pageContext 객체를 태그객체에 넘겨준다. &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;BR&gt;&lt;FONT face=돋움 size=2&gt;자바코드 없는 JSP 페이지를 만들수 있다. &lt;BR&gt;기존태그로 처리할때의 복잡함을 단순화 시킬수 있다. &lt;BR&gt;- 기존에 존재하는 HTML 태그들을 합쳐서 하나의 새로운 태그로 만들수 있다. &lt;BR&gt;- 다음의 경우를 보자. &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;table&amp;gt; &lt;BR&gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;학생&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;국어&amp;lt;/td&amp;gt;수학&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;이종철&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;100&amp;lt;/td&amp;gt;98&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;/table&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 위의 태그를 태그라이브러리를 이용하면 다음과 같이 사용가능하다. &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;jclee:table row=“2” column=“3”&amp;gt; &lt;BR&gt;학생;국어;수학: &lt;BR&gt;이종철;100;99 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/jclee:table&amp;gt; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;BR&gt;&lt;FONT face=돋움 size=2&gt;재활용이 가는하다. &lt;BR&gt;- 커스텀태그라이브러리는 .jar 형태로 압축되어 사용될수 있는데 일종의 package로 묶어 활용할수 있다는 의미이다. 즉 배포가 가능하다. &lt;BR&gt;유지보수가 용이하다. &lt;BR&gt;자바 API를 그대로 활용할수 있다. &lt;BR&gt;- 메일기능을 이용할려면 JAvaMail을 이용하면 되고 , DB연동을 할려면 JDBC를 이용하면 된다. &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR&gt;&lt;FONT face=돋움 size=2&gt;[자바전문가과정 문의 = &lt;/FONT&gt;&lt;A href=&quot;http://www.lesson-web.com/prom/java_main.htm&quot; target=_blank&gt;&lt;FONT face=돋움 size=2&gt;http://www.lesson-web.com/prom/java_main.htm&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=돋움 size=2&gt;]&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;
    </description>
    <link>http://kr.rd.yahoo.com/community/blog/myblog/rss/mesg20/*http://kr.blog.yahoo.com/sdsduck/398</link>
    <guid>http://kr.blog.yahoo.com/sdsduck/398</guid>
    <pubDate>Fri, 10 Feb 2006 13:33:36 +0900</pubDate>
    <category><![CDATA[JAVA강좌]]></category>
</item>
<item>
    <title><![CDATA[[JAVA/SCJP강좌][JSP기초#24]Hello World!!를 커스텀태그를 이용하여 출력하기]]></title>
    <description>
        &lt;DIV style=&quot;FONT-SIZE: 9pt; MARGIN: 5px 0px; FONT-FAMILY: 굴림&quot;&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;------- &lt;BR&gt;파일구성 &lt;BR&gt;------- &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;web.xml 보기 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (taglib 지시자의 uri를 위한 주소매핑) &lt;BR&gt;SimpleTagLib.tld &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (사용자 정의 태그의 tag를 정의및 이를 수행할 자바 클래스 파일등을 정의) &lt;BR&gt;HelloTagLib.java &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (실제 사용자 정의태그가 호출되었을때의 작업을 수행) &lt;BR&gt;HelloTagLib.jsp&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (사용자 정의 tag를 이용한 jsp file) &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;----------------------- &lt;BR&gt;1. web.xml &lt;BR&gt;----------------------- &lt;BR&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;euc-kr&quot;?&amp;gt; &lt;BR&gt;&amp;lt;!DOCTYPE web-app &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PUBLIC &quot;-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;&lt;/FONT&gt;&lt;A href=&quot;http://java.sun.com/j2ee/dtds/web-app_2_2.dtd&quot; target=_blank&gt;&lt;FONT face=돋움 size=2&gt;http://java.sun.com/j2ee/dtds/web-app_2_2.dtd&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=돋움 size=2&gt;&quot;&amp;gt; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;lt;web-app&amp;gt; &lt;BR&gt;&amp;lt;taglib&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;taglib-uri&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /jsp/taglib&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--jsp 파일의 taglib 지시자의 uri에 들어갈 부분 &amp;#61664;--&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;/taglib-uri&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;taglib-location&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /jsp/SimpleTagLib.tld &amp;lt;!--실제 파일의 위치및 경로 &amp;#61664;--&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;/taglib-location&amp;gt;&amp;nbsp; &lt;BR&gt;&amp;lt;/taglib&amp;gt; &lt;BR&gt;&amp;lt;/web-app&amp;gt; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;--------------------- &lt;BR&gt;2. SimpleTagLib.tld &lt;BR&gt;---------------------- &lt;BR&gt;&amp;lt;!&amp;#8211; 이 파일은 사용자 정의 tag등을 정의하며, 구체적으로 행위를 수행할 자바 클래스 파일을 연결하는 역할을 한다, 이파일의 위치는 /jsp에 두기로 하자.(이 파일의 실제위치와 jsp 파일에서의 taglib의 uri와의 매핑은 /WEB-INF/web.xml에서 하게된다.&amp;nbsp; &amp;#61664; &lt;BR&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;euc-kr&quot;?&amp;gt; &lt;BR&gt;&amp;lt;!DOCTYPE taglib &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PUBLIC &quot;-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;&lt;/FONT&gt;&lt;A href=&quot;http://java.sun.com/j2ee/dtds/web-app_2_2.dtd&quot; target=_blank&gt;&lt;FONT face=돋움 size=2&gt;http://java.sun.com/j2ee/dtds/web-app_2_2.dtd&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=돋움 size=2&gt;&quot;&amp;gt; &lt;BR&gt;&amp;lt;taglib&amp;gt; &amp;lt;tag&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- JSP안에서 사용할 태그 이름 --&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;name&amp;gt;helloPrint&amp;lt;/name&amp;gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- 태그의 인터페이스를 구현하는 자바클래스 --&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;tagclass&amp;gt;mybean.HelloTagLib&amp;lt;/tagclass&amp;gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- 태그를 담을수 있는 본체의 내용형식을 지정, 내용형식의 점검은 JSP가 서블릿으로 변활될때 일어난다 --&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;bodycontent&amp;gt;empty&amp;lt;/bodycontent&amp;gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- 태그에 대한 추가적인 정보 --&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;info&amp;gt; HelloWorld!! Print &amp;lt;/info&amp;gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp; &amp;lt;/tag&amp;gt;&amp;lt;/taglib&amp;gt; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;----------------------------- &lt;BR&gt;3. HelloTagLib.java &lt;BR&gt;----------------------------- &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;package mybean; &lt;BR&gt;import javax.servlet.http.*; &lt;BR&gt;import javax.servlet.jsp.*; &lt;BR&gt;import javax.servlet.jsp.tagext.*; &lt;BR&gt;import java.io.IOException; &lt;BR&gt;//SimpleTagLib Class는 javax.servlet.jsp.tagext.TagSupport를 확장한다. &lt;BR&gt;public class HelloTagLib extends TagSupport { &lt;BR&gt;&amp;nbsp; //태그의 초가화가 끝나면 즉시 호출 &lt;BR&gt;&amp;nbsp; public int doStartTag() throws JspTagException { &lt;BR&gt;&amp;nbsp;&amp;nbsp; try { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JspWriter out = pageContext.getOut(); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out　.write　(&quot;Hello World!!&quot;); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch(IOException e) { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new JspTagException(&quot;JspWriter not there: &quot;+e); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;BR&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp; //pageVisit Tag가 내용을 가지지 않기때문에 SKIP_BODY를 돌려줌 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return SKIP_BODY; &lt;BR&gt;&amp;nbsp; } &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp; //태드의 끝을 만나면 컨테이너는 doEndTag를 호출한다. &lt;BR&gt;&amp;nbsp; public int doEndTag() throws JspTagException { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return SKIP_PAGE;&amp;nbsp;&amp;nbsp; //이값을 돌려주면 컨테이너는 페이지의 처리를 중단한다. &lt;BR&gt;&amp;nbsp; } &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp; //태그의 작업이 완료되면 JSP컨테이너는 release()를 호출하는데 이에대한 구현은 이미 &lt;BR&gt;&amp;nbsp; //TagSupport클래스에 있기에 태그클래스안에서 직접 구현할 필요는 없다. &lt;BR&gt;} &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR&gt;&lt;FONT face=돋움 size=2&gt;-------------------------- &lt;BR&gt;4. HelloTagLib.jsp &lt;BR&gt;-------------------------- &lt;BR&gt;&amp;lt;%@ page contentType=&quot;text/html;charset=euc-kr&quot; %&amp;gt; &lt;BR&gt;&amp;lt;html&amp;gt; &lt;BR&gt;&amp;lt;title&amp;gt;Simple Tag Extension&amp;lt;/title&amp;gt; &lt;BR&gt;&amp;lt;body&amp;gt; &lt;BR&gt;&amp;lt;!-- taglib 지시자는 태그의 동작을 지시하는 XML 문서를 참조한다. --&amp;gt; &lt;BR&gt;&amp;lt;%@ taglib uri=&quot;/jsp/taglib&quot; prefix=&quot;test&quot; %&amp;gt; &lt;BR&gt;&amp;lt;h2&amp;gt;&amp;lt;test:helloPrint/&amp;gt;&amp;lt;/h2&amp;gt; &lt;BR&gt;&amp;lt;/body&amp;gt; &lt;BR&gt;&amp;lt;/html&amp;gt; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;BR&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp; 위에서 test로 시작하는 태그는 사용자 정의이며, 이에 관한 사항은 /jsp/taglib을&amp;nbsp; &lt;BR&gt;&amp;nbsp; 통해 확인된다. &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV style=&quot;MARGIN: 5px 0px&quot;&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV style=&quot;MARGIN: 5px 0px&quot;&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV style=&quot;MARGIN: 5px 0px&quot;&gt;&lt;BR&gt;&lt;FONT face=돋움 size=2&gt;[자바전문가과정 문의 = &lt;/FONT&gt;&lt;A href=&quot;http://www.lesson-web.com/prom/java_main.htm&quot; target=_blank&gt;&lt;FONT face=돋움 size=2&gt;http://www.lesson-web.com/prom/java_main.htm&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=돋움 size=2&gt;]&lt;BR&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;BASE href=http://cafe.empas.com&gt;&lt;P style=&quot;MARGIN-TOP: 15px&quot;&gt;&lt;TABLE cellSpacing=0 cellPadding=5 width=&quot;100%&quot; border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgColor=#dfdfdf colSpan=4 height=1&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
    </description>
    <link>http://kr.rd.yahoo.com/community/blog/myblog/rss/mesg20/*http://kr.blog.yahoo.com/sdsduck/397</link>
    <guid>http://kr.blog.yahoo.com/sdsduck/397</guid>
    <pubDate>Fri, 10 Feb 2006 13:33:16 +0900</pubDate>
    <category><![CDATA[JAVA강좌]]></category>
</item>
<item>
    <title><![CDATA[[JAVA/SCJP강좌][JSP기초#23]tomcat3.2에서 custom tag 사용하기]]></title>
    <description>
        &lt;DIV style=&quot;FONT-SIZE: 9pt; MARGIN: 5px 0px; FONT-FAMILY: 굴림&quot;&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;1.Tomcat3.1\conf아래의 server.xml에서 정의한 application의 docbase아래&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WEB-INF아래의 web.xml파일에 taglib을 위한 주소매핑을 한다. &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;예:server.xml&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Context path=&quot;/examples&quot;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; docBase=&quot;webapps/examples&quot;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; crossContext=&quot;false&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; debug=&quot;0&quot;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reloadable=&quot;true&quot; &amp;gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Context&amp;gt; &lt;BR&gt;&amp;lt;Context path=&quot;/&quot;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; docBase=&quot;c:\tomcat3.2\htdocs&quot;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; crossContext=&quot;false&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; debug=&quot;0&quot;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reloadable=&quot;true&quot; &lt;BR&gt;trusted=&quot;false&quot; &amp;gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Context&amp;gt; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp; 위에서 c:\tomcat3.2\htdocs 디렉토리 아래 WEB-INF아래에 web.xml파일이&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp; 존재해야 한다. web.xml파일은 서블릿이름및 매핑, 지원하는 mime 형식, taglib 매핑, &lt;BR&gt;&amp;nbsp;&amp;nbsp; 세션설정등을 하게된다. &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp; 2. Web.xml파일에서의 taglib 주소매핑하기 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [web.xml] &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!DOCTYPE web-app &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PUBLIC &quot;-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;&lt;/FONT&gt;&lt;A href=&quot;http://java.sun.com/j2ee/dtds/web-app_2_2.dtd&quot; target=_blank&gt;&lt;FONT face=돋움 size=2&gt;http://java.sun.com/j2ee/dtds/web-app_2_2.dtd&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=돋움 size=2&gt;&quot;&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp; &amp;lt;web-app&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp; &amp;lt;taglib&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;taglib-uri&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /jsp/taglib&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jsp 파일등의 taglib 지시자의 uri등에 기술 &amp;#61664; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/taglib-uri&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;taglib-location&amp;gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /jsp/SimpleTagLib.tld&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 실제 taglib을 위한 tag library descriptor의 실제파일위치,이름 &amp;#61664; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/taglib-location&amp;gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/taglib&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/web-app&amp;gt; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;BR&gt;&lt;FONT face=돋움 size=2&gt;3. SimpleTagLib.tld 파일 만들기(태그를 정의한 xml) &lt;BR&gt;&amp;lt;taglib&amp;gt;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp; &amp;lt;tlibversion&amp;gt;1.0&amp;lt;/tlibversion&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;jspversion&amp;gt;1.1&amp;lt;/jspversion&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;shortname&amp;gt;SimpleTagLib&amp;lt;/shortname&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;uri&amp;gt;http://localhost&amp;lt;/uri&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;info&amp;gt;Simple Tag Library&amp;lt;/info&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;!--&amp;nbsp; tag정의, 문서의 루트요소로 이문서가 태그 라이브러리를 정의함을 나타냄 --&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;tag&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- JSP안에서 사용할 태그 이름 --&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;name&amp;gt;pageVisit&amp;lt;/name&amp;gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- 태그의 인터페이스를 구현하는 자바클래스 --&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;tagclass&amp;gt;mybean.SimpleTagLib&amp;lt;/tagclass&amp;gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- 태그를 담을수 있는 본체의 내용형식을 지정, 내용형식의 점검은 JSP가 서블릿으로 변활될때 일어난다 --&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;bodycontent&amp;gt;empty&amp;lt;/bodycontent&amp;gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- 태그에 대한 추가적인 정보 --&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;info&amp;gt; my first tag library sample &amp;lt;/info&amp;gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp; &amp;lt;/tag&amp;gt; &lt;BR&gt;&amp;lt;/taglib&amp;gt; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;4. Taglib을 이용하는 jsp 파일의 형태 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;%@ taglib uri=&quot;/jsp/taglib&quot; prefix=&quot;test&quot; %&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;h2&amp;gt;&amp;lt;test:pageVisit/&amp;gt;&amp;lt;/h2&amp;gt; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 즉 jsp 파일에서 test라는 접두어가 나오는 사용자가 정의한 태그이며, &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 이에대한 정의는 /jsp/taglib에 기보면 있다는 애기임, &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 여기의 /jsp/taglib은 이미 web.xml에서 실제 xml파일과 주소매핑을 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 시켜놓은것임 &lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR&gt;&lt;FONT face=돋움 size=2&gt;[자바전문가과정 문의 = &lt;/FONT&gt;&lt;A href=&quot;http://www.lesson-web.com/prom/java_main.htm&quot; target=_blank&gt;&lt;FONT face=돋움 size=2&gt;http://www.lesson-web.com/prom/java_main.htm&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=돋움 size=2&gt;]&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;DIV style=&quot;MARGIN: 5px 0px&quot;&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;
    </description>
    <link>http://kr.rd.yahoo.com/community/blog/myblog/rss/mesg20/*http://kr.blog.yahoo.com/sdsduck/396</link>
    <guid>http://kr.blog.yahoo.com/sdsduck/396</guid>
    <pubDate>Fri, 10 Feb 2006 13:32:53 +0900</pubDate>
    <category><![CDATA[JAVA강좌]]></category>
</item>
<item>
    <title><![CDATA[[솔라리스강좌]한글 LANG변수와 솔라리스 한글설정]]></title>
    <description>
        &lt;P&gt;&lt;FONT face=돋움 size=2&gt;ko - 확장된 한국어 UNIX 코드(EUC). 이 locale은 KS C-5601-1992.3 표준을 지원합니다. KS C 5601-1992.3은 ISO-2022를 기반으로 합니다. 확장된 UNIX 코드는 ISO-2022를 재형식화한 것입니다. 현재 한국어 Solaris 응용프로그램을 사용하고 있다면 이 한국어 locale을 실행하는 것이 훨씬 편리할 것입니다. 이게 web상에서 표준으로 쓰죠? &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;ko.UTF-8 - 한국어 일반 다중 옥텟 코드 문자 세트(UCS) 전송 형식. 이 locale은 1995년 12월에 한국 정부가 발표한 KS C-5700 표준을 지원합니다. 사용자가 개발자나 고급 사용자이고 많은 수의 문자와 유니코드를 사용해야 하며 KS C 5700 지원을 필요로 한다면 이 locale을 실행할 수 있다 물론 설치 했다면. 솔라리스 7부터 지원되죠 &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;born, korn shell에서는 &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;#LANG=ko; export LANG &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;#/bin/stty cs8 -istrip defeucw &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;이나 &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;LANG=ko.UTF-8; export LANG; /bin/stty cs8 -istrip defeucw ; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;BR&gt;&lt;FONT face=돋움 size=2&gt;C shell에서는 &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;setenv LANG ko; /bin/stty cs8 -istrip defeucw &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;[솔라리스 참고교육사이트 = &lt;/FONT&gt;&lt;A href=&quot;http://www.lesson-web.com&quot; target=_blank&gt;&lt;FONT face=돋움 size=2&gt;http://www.lesson-web.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=돋움 size=2&gt;]&lt;/FONT&gt;&lt;/P&gt;
    </description>
    <link>http://kr.rd.yahoo.com/community/blog/myblog/rss/mesg20/*http://kr.blog.yahoo.com/sdsduck/395</link>
    <guid>http://kr.blog.yahoo.com/sdsduck/395</guid>
    <pubDate>Fri, 10 Feb 2006 13:32:11 +0900</pubDate>
    <category><![CDATA[Solaris강좌]]></category>
</item>
<item>
    <title><![CDATA[[솔라리스강좌]솔라리스 8 Intelplatform 소프트웨어 설치하기]]></title>
    <description>
        &lt;DIV style=&quot;FONT-SIZE: 9pt; MARGIN: 5px 0px; FONT-FAMILY: 굴림&quot;&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;환영 창에서 “다음&amp;gt;”을 누르자. CD 삽입 대화상자가 나타난다. &lt;/FONT&gt;&lt;P&gt;&lt;TABLE align=center border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD align=middle&gt;&lt;!-- badtag filtered --&gt;&lt;A&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/lecture/p_53-1.jpg&quot; width=300 align=center border=0&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;CENTER&gt;&lt;FONT face=돋움 size=2&gt;CD 삽입&lt;/FONT&gt;&lt;/CENTER&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;CD-ROM 드라이브에 ‘Solaris Software 1 of 2’ CD를 넣고 “확인”을 누른다. 초기화 대화상자가 잠시 나타난 후 설치 유형 선택 대화상자가 나타난다. &lt;/FONT&gt;&lt;P&gt;&lt;TABLE align=center border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD align=middle&gt;&lt;!-- badtag filtered --&gt;&lt;A&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/lecture/p_53-2.jpg&quot; width=300 align=center border=0&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;CENTER&gt;&lt;FONT face=돋움 size=2&gt;설치 유형 선택&lt;/FONT&gt;&lt;/CENTER&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;기본 설치나 사용자 설치를 선택한 후 “다음&amp;gt;”을 누른다. 디스크가 두 개 이상인 시스템일 경우 기본 설치를 선택하면 시스템 디스크만 설정 하므로 모든 디스크를 사용하고자 할 경우 사용자 정의를 선택하고 후에 나올 Disk Selection에서 표시되는 모든 디스크를 선택한다. “다음&amp;gt;”을 누르면 소프트웨어 로케일 선택 대화상자가 나타난다. &lt;/FONT&gt;&lt;P&gt;&lt;TABLE align=center border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD align=middle&gt;&lt;!-- badtag filtered --&gt;&lt;A&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/lecture/p_53-3.jpg&quot; width=300 align=center border=0&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;CENTER&gt;&lt;FONT face=돋움 size=2&gt;소프트웨어 로케일 선택&lt;/FONT&gt;&lt;/CENTER&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;기본적으로는 솔라리스 영어 버전이 설치된다. 아시아 지역을 선택한 후 다음&amp;gt;을 누른다. 시스템 로케일 선택 대화상자가 나타난다. &lt;/FONT&gt;&lt;P&gt;&lt;TABLE align=center border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD align=middle&gt;&lt;!-- badtag filtered --&gt;&lt;A&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/lecture/p_53-4.jpg&quot; width=300 align=center border=0&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;CENTER&gt;&lt;FONT face=돋움 size=2&gt;시스템 로케일 선택&lt;/FONT&gt;&lt;/CENTER&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;시스템이 설치된 후 사용할 로케일을 선택한다. 한국어를 선택 한 후 “다음&amp;gt;”을 누른다. 소프트웨어 선택 대화상자가 나타난다. &lt;/FONT&gt;&lt;P&gt;&lt;TABLE align=center border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD align=middle&gt;&lt;!-- badtag filtered --&gt;&lt;A&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/lecture/p_53-5.jpg&quot; width=300 align=center border=0&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;CENTER&gt;&lt;FONT face=돋움 size=2&gt;동봉 소프트웨어 선택&lt;/FONT&gt;&lt;/CENTER&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;추가하여 설치할 CD와 제품을 선택하고 “다음&amp;gt;”을 누른다. 추가 제품 대화상자가 나타난다. &lt;/FONT&gt;&lt;P&gt;&lt;TABLE align=center border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD align=middle&gt;&lt;!-- badtag filtered --&gt;&lt;A&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/lecture/p_53-6.jpg&quot; width=300 align=center border=0&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;CENTER&gt;&lt;FONT face=돋움 size=2&gt;추가 제품&lt;/FONT&gt;&lt;/CENTER&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;추가하지 않으려면 ‘없음’을 선택하고, 추가하려면 제품 소스를 선택한다. 제품 CD를 선택했다면 CD가 배출되고 ‘Solaris 8 Software 1 of 2’ CD를 넣으라는 대화상자가 나타날 것이다. 해당 CD를 넣고 “확인”을 누르면 Solaris 클러스터 구성선택 대화상자가 나타난다. &lt;/FONT&gt;&lt;P&gt;&lt;TABLE align=center border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD align=middle&gt;&lt;!-- badtag filtered --&gt;&lt;A&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/lecture/p_53-7.jpg&quot; width=300 align=center border=0&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;CENTER&gt;&lt;FONT face=돋움 size=2&gt;Solaris 클러스터 구성 선택&lt;/FONT&gt;&lt;/CENTER&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;설치할 소프트웨어 그룹을 선택한 후 “다음&amp;gt;”을 누른다. Disk Selection 대화상자가 나타난다. &lt;/FONT&gt;&lt;P&gt;&lt;TABLE align=center border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD align=middle&gt;&lt;!-- badtag filtered --&gt;&lt;A&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/lecture/p_53-8.jpg&quot; width=300 align=center border=0&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;CENTER&gt;&lt;FONT face=돋움 size=2&gt;Disk Selection&lt;/FONT&gt;&lt;/CENTER&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;파일 시스템을 배치할 디스크를 선택한다. 사용 가능한 디스크에 나타난 모든 디스크를 추가하자. “다음&amp;gt;”을 누르면 디스크 공간에 대한 요구사항을 모아진 후 파일 시스템 배치 대화상자가 나타난다. &lt;/FONT&gt;&lt;P&gt;&lt;TABLE align=center border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD align=middle&gt;&lt;!-- badtag filtered --&gt;&lt;A&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/lecture/p_53-9.jpg&quot; width=300 align=center border=0&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;CENTER&gt;&lt;FONT face=돋움 size=2&gt;파일 시스템 배치&lt;/FONT&gt;&lt;/CENTER&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;파일 시스템을 수정하려면 “수정…”을 누른다. 해당 디스크 대화상자가 나타난다. &lt;/FONT&gt;&lt;P&gt;&lt;TABLE align=center border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD align=middle&gt;&lt;!-- badtag filtered --&gt;&lt;A&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/lecture/p_53-10.jpg&quot; width=300 align=center border=0&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;CENTER&gt;&lt;FONT face=돋움 size=2&gt;파일 시스템 수정이 가능하다&lt;/FONT&gt;&lt;/CENTER&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;원하는 내용으로 변경 후 확인을 누른다. 파일 시스템 배치 화면으로 돌아와서 변경이 제대로 끝났으면 “다음&amp;gt;”을 누른다. 설치 준비 대화상자가 나타난다. &lt;/FONT&gt;&lt;P&gt;&lt;TABLE align=center border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD align=middle&gt;&lt;!-- badtag filtered --&gt;&lt;A&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/lecture/p_53-11.jpg&quot; width=300 align=center border=0&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;CENTER&gt;&lt;FONT face=돋움 size=2&gt;설치 준비&lt;/FONT&gt;&lt;/CENTER&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;“지금 설치”를 눌러 설치를 시작하자. 설치가 진행된다. &lt;/FONT&gt;&lt;P&gt;&lt;TABLE align=center border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD align=middle&gt;&lt;!-- badtag filtered --&gt;&lt;A&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/lecture/p_53-12.jpg&quot; width=300 align=center border=0&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;CENTER&gt;&lt;FONT face=돋움 size=2&gt;설치중...&lt;/FONT&gt;&lt;/CENTER&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;설치가 끝나면 설치 요약 대화상자가 나타나며 “세부사항…”을 누르면 자세히 살펴볼 수 있다. CD-ROM 드라이브에서 CD가 배출되면서 추가한 소프트웨어 설치도 계속 된다. Language, Documentation CD도 화면의 지시에 따라 설치한다. 대화상자에 지시를 따라 설치를 마무리 하자. Documentation CD는 설치를 안 해도 무방하다.&lt;BR&gt;재부트 대화상자가 나타난다. “지금 재부트”를 눌러 시스템을 재시작 하자. 마찬가지로 CD- ROM에 들어있는 CD는 제거해준다. 이로써 기나긴 솔라리스 8 인텔 플랫폼 판 설치가 끝났다.&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#cc0000&gt;&lt;FONT face=돋움&gt;&lt;FONT size=2&gt;&lt;B&gt;Solaris Web Start란?&lt;/B&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;로컬 또는 원격 CD-ROM 드라이브로부터 단일 시스템 상에 솔라리스 운영 환경과 기타 소프트웨어를 설치하는 그래픽 기반의 Java 응용프로그램이다. &lt;/FONT&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/bullet/dot00.gif&quot; border=0&gt; &lt;B&gt;Solaris Web Start가 하는 일은?&lt;/B&gt; &lt;/FONT&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;Solaris Web Start는 기본적으로 Solaris 소프트웨어를 한 번에 모두 설치하게 해준다. 개별 소프트웨어 그룹이나 추가적인 소프트웨어 제품 설치는 가능하나 소프트웨어 그룹을 구성하고 있는 개별 패키지 설치는 불가능하다. 사용자 정의 설치를 선택하고 파일 시스템 레이아웃 대화 상자를 사용하여 다른 디스크를 설정할 수 있다. 또한 기본 위치 이외에 소프트웨어 추가 설치에 사용된다. &lt;/FONT&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/bullet/dot00.gif&quot; border=0&gt; &lt;B&gt;Solaris Web Start를 사용하여 솔라리스 8을 설치하자&lt;/B&gt; &lt;/FONT&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;“환영” 창에서 “다음&amp;gt;”을 누른다. &lt;/FONT&gt;&lt;P&gt;&lt;TABLE align=center border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD align=middle&gt;&lt;!-- badtag filtered --&gt;&lt;A&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/lecture/p_52-1.jpg&quot; width=300 align=center border=0&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;CENTER&gt;&lt;FONT face=돋움 size=2&gt;환영창&lt;/FONT&gt;&lt;/CENTER&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;Solaris Web Start가 사용자 시스템에 관한 정보 수집을 하게 된다. 네트워크 연결 대화상자가 나타난다. &lt;/FONT&gt;&lt;P&gt;&lt;TABLE align=center border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD align=middle&gt;&lt;!-- badtag filtered --&gt;&lt;A&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/lecture/p_52-2.jpg&quot; width=300 align=center border=0&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;CENTER&gt;&lt;FONT face=돋움 size=2&gt;네트워크 연결&lt;/FONT&gt;&lt;/CENTER&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;시스템이 네트워크에 연결되어 있다면 ‘네트워크로 연결’을 선택하고, 그렇지 않다면 ‘네트워크로 연결하지 않음’을 선택한 후 “다음&amp;gt;”을 누른다. ‘네트워크로 연결하지 않음’을 선택했다면 호스트 이름 대화상자가 나타난다. ‘네트워크로 연결’을 선택했다면 DHCP 대화상자가 나타난다. 여기서는 네트워크로 연결되어 있다는 가정 하에 설치를 진행하겠다. &lt;/FONT&gt;&lt;P&gt;&lt;TABLE align=center border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD align=middle&gt;&lt;!-- badtag filtered --&gt;&lt;A&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/lecture/p_52-3.jpg&quot; width=300 align=center border=0&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;CENTER&gt;&lt;FONT face=돋움 size=2&gt;DHCP&lt;/FONT&gt;&lt;/CENTER&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;DHCP 사용하려면 ‘예’를 사용하지 않으려면 ‘아니오’를 선택한다. 여기서는 ‘아니오’를 선택하겠다. 호스트 이름 대화상자가 나타난다. &lt;/FONT&gt;&lt;P&gt;&lt;TABLE align=center border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD align=middle&gt;&lt;!-- badtag filtered --&gt;&lt;A&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/lecture/p_52-4.jpg&quot; width=300 align=center border=0&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;CENTER&gt;&lt;FONT face=돋움 size=2&gt;호스트 이름&lt;/FONT&gt;&lt;/CENTER&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;사용할 호스트 이름을 입력한 뒤 “다음&amp;gt;”을 누른다. IP주소 대화상자가 나타난다. &lt;/FONT&gt;&lt;P&gt;&lt;TABLE align=center border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD align=middle&gt;&lt;!-- badtag filtered --&gt;&lt;A&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/lecture/p_52-5.jpg&quot; width=300 align=center border=0&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;CENTER&gt;&lt;FONT face=돋움 size=2&gt;IP주소&lt;/FONT&gt;&lt;/CENTER&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;네트워크에 연결된 시스템의 IP를 써준다. 넷마스크 대화상자가 나타난다. &lt;/FONT&gt;&lt;P&gt;&lt;TABLE align=center border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD align=middle&gt;&lt;!-- badtag filtered --&gt;&lt;A&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/lecture/p_52-6.jpg&quot; width=300 align=center border=0&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;CENTER&gt;&lt;FONT face=돋움 size=2&gt;넷마스크&lt;/FONT&gt;&lt;/CENTER&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;넷마스크 값을 입력하고 “다음&amp;gt;”을 누른다. IPv6 대화상자가 나타난다. &lt;/FONT&gt;&lt;P&gt;&lt;TABLE align=center border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD align=middle&gt;&lt;!-- badtag filtered --&gt;&lt;A&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/lecture/p_52-7.jpg&quot; width=300 align=center border=0&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;CENTER&gt;&lt;FONT face=돋움 size=2&gt;IPv6&lt;/FONT&gt;&lt;/CENTER&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;IPv6의 사용여부를 선택한 뒤 다음&amp;gt;을 누른다. 이름 서비스 대화상자가 나타난다. &lt;/FONT&gt;&lt;P&gt;&lt;TABLE align=center border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD align=middle&gt;&lt;!-- badtag filtered --&gt;&lt;A&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/lecture/p_52-8.jpg&quot; width=300 align=center border=0&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&lt;CENTER&gt;&lt;FONT face=돋움 size=2&gt;이름 서비스&lt;/FONT&gt;&lt;/CENTER&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;NIS, NIS+, DNS, 없음 중 시스템에서 사용할 이름 서비스를 선택한다. 이름 서비스를 사용하지 않는다면 ‘없음’을 선택한다. 이름 서비스는 솔라리스를 설치 한 후에도 얼마든지 설정이 가능하므로 ‘없음’을 선택해도 무방하다. 단, 특정 이름 서비스(NIS, NIS+, DNS) 선택 시 다음 단계에서 해당 이름 서비스를 찾지 못하는 경우가 종종 있다. 네트워크 설정이 설치로는 완벽히 되지 않으므로 ‘없음’을 선택하고 “다음&amp;gt;”을 누르자. 시간대 대화상자가 나타난다. &lt;/FONT&gt;&lt;P&gt;&lt;TABLE align=center border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD align=middle&gt;&lt;!-- badtag filtered --&gt;&lt;A&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/lecture/p_52-9.jpg&quot; width=300 align=center border=0&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;CENTER&gt;&lt;FONT face=돋움 size=2&gt;시간대&lt;/FONT&gt;&lt;/CENTER&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;‘지리적 영역’을 선택하자. “다음”을 누르면 지리적 영역 대화상자가 나타난다. &lt;/FONT&gt;&lt;P&gt;&lt;TABLE align=center border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD align=middle&gt;&lt;!-- badtag filtered --&gt;&lt;A&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/lecture/p_52-10.jpg&quot; width=300 align=center border=0&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;CENTER&gt;&lt;FONT face=돋움 size=2&gt;지리적 영역&lt;/FONT&gt;&lt;/CENTER&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;왼쪽 목록에서 ‘아시아, 동부’를 선택한 후 오른쪽 목록에서 ‘대한민국’을 선택하자. “다음&amp;gt;”을 누르면 날짜와 시간 대화상자가 나타난다. &lt;/FONT&gt;&lt;P&gt;&lt;TABLE align=center border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD align=middle&gt;&lt;!-- badtag filtered --&gt;&lt;A&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/lecture/p_52-11.jpg&quot; width=300 align=center border=0&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;CENTER&gt;&lt;FONT face=돋움 size=2&gt;날짜와 시간&lt;/FONT&gt;&lt;/CENTER&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;필요한 경우 값을 조정한 후 “다음&amp;gt;”을 누른다. 루트 암호 대화상자가 나타난다. &lt;/FONT&gt;&lt;P&gt;&lt;TABLE align=center border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD align=middle&gt;&lt;!-- badtag filtered --&gt;&lt;A&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/lecture/p_52-12.jpg&quot; width=300 align=center border=0&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;CENTER&gt;&lt;FONT face=돋움 size=2&gt;루트 암호&lt;/FONT&gt;&lt;/CENTER&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;수퍼 유저로 사용할 루트 암호를 입력하고 “다음&amp;gt;”을 누른다. 프록시 서버 구성 대화상자가 나타난다. &lt;/FONT&gt;&lt;P&gt;&lt;TABLE align=center border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD align=middle&gt;&lt;!-- badtag filtered --&gt;&lt;A&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/lecture/p_52-13.jpg&quot; width=300 align=center border=0&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;CENTER&gt;&lt;FONT face=돋움 size=2&gt;프록시 서버 구성&lt;/FONT&gt;&lt;/CENTER&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;자신의 사용 환경에 맞게 프록시 서버 구성을 설정하자. 대부분 ‘인터넷으로 직접 연결’을 선택하리라 본다. &quot;다음&amp;gt;&quot;을 누르면 정보 확인 대화상자가 나타난다. &lt;/FONT&gt;&lt;P&gt;&lt;TABLE align=center border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD align=middle&gt;&lt;!-- badtag filtered --&gt;&lt;A&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/lecture/p_52-14.jpg&quot; width=300 align=center border=0&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;CENTER&gt;&lt;FONT face=돋움 size=2&gt;정보 확인&lt;/FONT&gt;&lt;/CENTER&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;정보가 정확하지 않다면 수정할 정보에 필요한 대화상자가 나타날 때까지 “&amp;lt;뒤로”를 눌러 해당 사항을 수정하고 다시 설치를 진행 한다. 정보가 정확하다면 “확인”을 누른다. ‘시스템을 설정값으로 구성하는 동안 기다리십시오...’라는 메시지가 뜨고 잠시 후에 넷스케이프 아이콘이 잠시 나타나고 화면이 바뀌면서 움직이는 솔라리스 로고가 보여지고 난 후 솔라리스 설치 키오스크 및 환영 창이 나타난다. &lt;/FONT&gt;&lt;P&gt;&lt;TABLE align=center border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD align=middle&gt;&lt;!-- badtag filtered --&gt;&lt;A&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/lecture/p_52-15.jpg&quot; width=300 align=center border=0&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;CENTER&gt;&lt;FONT face=돋움 size=2&gt;설치 키오스크 및 환영 대화상자&lt;/FONT&gt;&lt;/CENTER&gt;&lt;P&gt;&lt;FONT face=돋움 size=2&gt;&lt;IMG src=&quot;http://www.solarisschool.com/images/bullet/clip.gif&quot; border=0&gt; &lt;B&gt;키오스크란&lt;/B&gt; Solaris Web Start로 솔라리스를 설치할 때 도움을 주는 일종의 설명서 같은 것이다. 웹 페이지 등 넷스케이프 기반의 브라우저 환경이다.&lt;/FONT&gt;&lt;/P&gt;&lt;DIV style=&quot;MARGIN: 5px 0px&quot;&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV style=&quot;MARGIN: 5px 0px&quot;&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV style=&quot;MARGIN: 5px 0px&quot;&gt;&lt;FONT face=돋움 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV style=&quot;MARGIN: 5px 0px&quot;&gt;&lt;FONT face=돋움 size=2&gt;[솔라리스 참고교육사이트 = &lt;/FONT&gt;&lt;A href=&quot;http://www.lesson-web.com&quot; target=_blank&gt;&lt;FONT face=돋움 size=2&gt;http://www.lesson-web.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=돋움 size=2&gt;]&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;
    </description>
    <link>http://kr.rd.yahoo.com/community/blog/myblog/rss/mesg20/*http://kr.blog.yahoo.com/sdsduck/394</link>
    <guid>http://kr.blog.yahoo.com/sdsduck/394</guid>
    <pubDate>Fri, 10 Feb 2006 13:31:50 +0900</pubDate>
    <category><![CDATA[Solaris강좌]]></category>
</item>
</channel>
</rss>
<!-- rss1.blog.kr3.yahoo.com uncompressed/chunked Tue Nov 24 12:50:23 KST 2009 -->
