int arr[5];
int i,j,min,t;
for(i=0;i<전체배열길이;i++){
min = i; <-최초 값비교할 주소지정 (2번째 부터는 다음주소최초비교값으로지정
for(j=i+1 ; j <= 전체배열길이 ;j++)
if(arr[j] < arr[min]){
min = j; <- 비교해서 작은 값 위치 저장.
}
t=arr[i];
arr[i]=arr[min];
arr[min]=t;
<-끝까지 비교후 저장된 위치로 값교환
}
``; 참고 하세요 ``; ㅋ
대략 알고리즘은 버블하고 비슷한대
바로바로 스와핑이 일어 나지 않고
스와핑 대신에
작은값 위치만 기억했따가
j 비교가 다 끝나면 그때 값 교환을 이루는 알고리즘입니다 .
'컴퓨터 > 언어,프로그래밍' 카테고리의 다른 글
C언어 :: 파일 입출력 함수 (종류/사용법) (1) | 2009.03.17 |
---|---|
[프로그래밍 이론] 객체 지향이란? (0) | 2009.03.15 |
C 총정리판 (0) | 2009.03.14 |
[C/C++] 자료형의 종류와 범위 (0) | 2009.03.14 |
순서도(Flowchart 1) (0) | 2009.03.14 |