반응형

선택 정렬 6

[C언어 알고리즘] 2.4.3 선택 정렬 알고리즘 소스 코드

[C언어 알고리즘] 2.4.3 선택 정렬 알고리즘 소스 코드//선택 정렬(Selection Sort) #include #define SWAP(a,b) {int t; t = a; a=b; b=t;}//a와 b를 교환 void SelectionSort(int *base, int n); int main(void) { int arr[10] = { 9,4,3,10,5,8,7,6,2,1 }; SelectionSort(arr, 10); return 0; } void ViewArr(int *arr, int n); void SelectionSort(int *base, int n) { int i, j; int maxi; ViewArr(base, n);//현재 상태 출력 for (i = n; i>1; i--)//정렬할 범위..

[C언어 알고리즘] 2.4.2 선택 정렬 알고리즘 구현

[C언어 알고리즘] 2.4.2 선택 정렬 알고리즘 구현이번에는 선택 정렬 알고리즘을 구현해 보아요. 선택 정렬(base:컬렉션,n:원소 개수,compare:비교 논리) 반복(i:=n; i>1 ; i:= i-1) 반복(max=0,j:=1; j1; i--)//정렬할 범위를 축소해 나갑니다. { 선택 정렬의 내부 반복문은 인덱스 0에서 마지막 원소 중에 제일 큰 값을 찾아 맨 마지막 원소와 교환하는 작업을 수행합니다. maxi = 0; for (j = 1; j

[C언어 알고리즘] 2.4 선택 정렬(Selection Sort) 알고리즘

[C언어 알고리즘] 2.4 선택 정렬(Selection Sort) 알고리즘 이번에는 반복 알고리즘일 이용하는 선택 정렬 알고리즘을 알아봅시다. 선택 정렬 알고리즘은 제일 큰 값을 찾아 맨 뒤의 요소와 교체하는 방법을 반복하여 전체를 정렬하는 알고리즘입니다. 물론 제일 작은 값을 찾아 맨 앞의 요소와 교체하는 방법을 반복할 수도 있습니다. 선택 정렬 알고리즘을 의사코드(pseudo code: 논리적인 수행 흐름을 이해할 수 있게 작성한 코드)는 다음과 같습니다. 선택 정렬(base:컬렉션,n:원소 개수,compare:비교 논리) 반복(i:=n; i>1 ; i:= i-1) 반복(max=0,j:=1; j

[C언어 무료 동영상 강의] 66. 구현 (함수 만들기 실습)

[C언어 무료 동영상 강의] 66. 구현 (함수 만들기 실습)다루는 내용 범위 내의 정수 합계 구하는 함수 특정 수가 소수인지 판별하는 함수 범위 내의 정수 중에 소수의 개수를 구하는 함수 n개의 정수의 합계를 구하는 함수 두 수를 바꾸는 함수 n 개의 정수에서 제일 큰 정수가 있는 메모리 주소를 찾는 함수선택 정렬 앞으로 프로그래밍 관련 글은 새롭게 개설한 언제나 휴일 전용 사이트에서 만나보세요. 2017년 1월 1일까지 이 곳의 프로그래밍 자료는 http://ehpub.co.kr 로 옮길 예정입니다. 본문[디딤돌 C언어] 66. 구현 (함수 만들기 실습)

2.3 선택 정렬(Selection Sort) [디딤돌 자료구조와 알고리즘 with C++]

2.3 선택 정렬(Selection Sort) 이번에는 반복적인 방법으로 해결하는 선택 정렬(Selection Sort) 알고리즘을 살펴볼게요. 선택 정렬도 순차 정렬처럼 맨 앞에서부터 제일 작은 원소를 배치하게 만들어 나가는 알고리즘이예요. 차이점은 맨 앞의 원소를 최소값이 있는 위치로 설정한 후에 뒤에 원소들과 비교하여 더 작은 값을 발견하면 최소값의 위치를 바꾸는 거예요. 순차 정렬에서 원소를 교환했던 것과 다릅니다. 선택 정렬은 내부 반복문을 수행한 후에 최소값과 맨 앞의 원소와 교환해요. 선택 정렬(base:배열의 시작 주소, n: 원소 개수, compare:비교 논리) 반복(i:=0->n) min=i 반복(j:=i+1->n) 조건(compare(base[min], base[j]) > 0) mi..

반응형