C Selection Sort로 오름차순 정렬하는 방식입니다.

시간복잡도 : O(n^2)


#include <stdio.h>


void printArray(int value[], int count) {

int i = 0;

for (i = 0; i < count; i++) {

printf("%d ", value[i]);

}

printf("\n");

}


void selectionSort(int value[], int count) {

int i = 0, j = 0, min = 0, temp = 0;

for (i = 0; i < count - 1; i++) {

min = i;

for (j = i + 1; j < count; j++) {

if (value[j] < value[min]) {

min = j;

}

}

temp = value[i];

value[i] = value[min];

value[min] = temp;

printf("Step-%d, ", i + 1);

printArray(value, count);

}

}


int main(int argc, char *argv[]) {

int values[] = { 80, 50, 70, 10, 60, 20, 40, 30 };

printf("Before Selction\n");

printArray(values, 8);


selectionSort(values, 8);


printf("\nAfter Sort\n");

printArray(values, 8);

return 0;

}

'Programming > C' 카테고리의 다른 글

Sorting(5) Merge Sort(합병 정렬)  (0) 2016.11.01
Sorting(4) Quick Sort(퀵 정렬)  (0) 2016.11.01
Sorting(2) Insertion Sort(삽입 정렬)  (0) 2016.11.01
Sorting(1) Bubble Sort(버블 정렬)  (0) 2016.11.01
(6) CircularList 사용하기  (0) 2016.10.30

WRITTEN BY
SiriusJ

,