프로그래밍/JAVA

선택정렬

코딩딩 2016. 3. 23. 13:31

선택정렬 코드

선택 정렬(selection sort)은 제자리 정렬 알고리즘의 하나로, 다음과 같은 순서로 이루어진다.

  1. 주어진 리스트 중에 최솟값을 찾는다.
  2. 그 값을 맨 앞에 위치한 값과 교체한다(패스(pass)).
  3. 맨 처음 위치를 뺀 나머지 리스트를 같은 방법으로 교체한다.


선택정렬을 온몸으로 표현한 댄스



선택정렬 실행 알고리즘 에니메이션

출처 : 위키백과


public class SelectionSort {

public static void main(String[] args) {

//정수배열 중에서 가장 작은 값의 위치를 찾기

int[] arr = {3,2,5,4,1};

int minPos;

int minVal;

for(int j = 0; j < arr.length; j++)

{

minVal = arr[j];

minPos = j;

for(int i = j; i < arr.length; i++)

{

if( minVal > arr[i] )

{

minVal = arr[i];

minPos = i;

}

}

//minPos위치에 있는 값과 0번 위치의 값의 자리를 바꾸세요

int tmp = arr[minPos];

arr[minPos] = arr[j];

arr[j] = tmp;

}

// //두 변수의 값을 바꾸기

// int a = 10;

// int b = 20;

// int tmp = a;

// a = b;

// b = tmp;



'프로그래밍 > JAVA' 카테고리의 다른 글

상속 개념파악하기!  (0) 2016.03.30
정적 변수 (static variable)  (0) 2016.03.29
변수의 종류 와 사용영역  (0) 2016.03.29
클래스의 메모리 구조 및 참조관계  (0) 2016.03.28
[Matrix] 행렬곱 프로그래밍  (0) 2016.03.25