버블 정렬 알고리즘 - C 언어
·
C
버블 정렬 알고리즘첫번째 데이터와 두번째 데이터를 비교하고 두번째와 세번째 데이터를 비교하고 세번째와 네번째를 비교해 (중략) 1회전 반복이 끝나면 가장 큰 데이터가 맨 뒤로 가기 때문에 모든 반복을 돌고나면 오름차순 정렬이 되는 알고리즘이다. 1234567for(i=0 ; in-1 ; i++) {    for(j=0 ; jn-1-i ; j++) {        if(a[j] > a[j+1]){            swap(a[j], a[j+1]);        }    }}cs 첫번째 반복문에서 i는 0부터 n-1까지 반복한다. 두번째 반복문에서 j는 0부터 n-1-i까지 반복한다.a[j]와 a[j+1]를 비교했을 때 a[j]가 크다면 이 둘을 swap해준다. 1회전이 끝나면 가장 큰 데이터가 맨 뒤로..
삽입 정렬 알고리즘 - C 언어
·
C
삽입 정렬의 기본적인 연산은 데이터가 정렬되어 있을 때 이들 데이터 사이의 적당한 위치에 맞는 데이터를 삽입하는 것이다. 데이터를 삽입하고 난 뒤 그보다 오른쪽에 있던 데이터는 오른쪽으로 하나씩 자리를 옮겨줘야 한다. 삽입 정렬은 두 번째 데이터부터 정렬을 시작해 그 앞에 있는 데이터와 비교하고 삽입할 위치를 찾은 뒤 삽입할 위치의 공간 확보를 위해 데이터를 오른쪽으로 옮겨준 뒤 삽입하게 된다. 123456789for(i=2 ; in ; i++) {    w = a[i];    j=i-1;    while((wa[j])&&(j>=0)) {        a[j+1] = a[j];        j = j-1;    }    a[j+1] = w;}csw가 삽입할 데이터이다. (a[0]은 없고 배열은 a[1]부..
단순 정렬 알고리즘 & 선택 정렬 알고리즘 - C 언어
·
C
단순 정렬 알고리즘12345for(i=1 ; in ; i++) {    for(j=i+1; j=n ; j++) {        if( a[i] > a[j]) swap( a[i], a[j] );    }}Colored by Color Scriptercs i가 1부터 n-1까지 반복하고 j가 그 다음 데이터부터 n까지 반복하면서 a[i]이 a[j]보다 크면 서로의 값을 바꿔주어 가장 작은 값이 앞에 올 수 있도록 정렬하는 알고리즘이다.초기 상태가 [ 21  34  4  54  29  17 ]인 데이터 배열이 있을 때 위 알고리즘을 실행한다면[ 4  34  21  54  29  17 ][ 4  17  34  54  29  21 ]...[ 4  17  21  29  34  54 ]로 오름차순으로 잘 정렬된 것을..