Programming/C

Sorting(2) Insertion Sort(삽입 정렬)

SiriusJ 2016. 11. 1. 17:19
반응형

C Insertion 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 insertionSort(int value[], int count) {

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

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

temp = value[i];

j = i;

while ((j > 0) && value[j - 1] > temp) {

value[j] = value[j - 1];

j = j - 1;

}

value[j] = temp;

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

printArray(value, count);

}

}

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

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

printf("Before InsertionSort\n");

printArray(values, 8);


insertionSort(values, 8);


printf("\nAfter Sort\n");

printArray(values, 8);


return 0;

}

반응형