선택정렬, 버블정렬
2017. 2. 13. 11:47ㆍProgramming/C
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | #include<stdio.h> #define size 6 void selectSort(int arr[]) { int i, j, index, temp, cnt =0; for (i = 0; i < size-1; i++) { //5번 반복 index = i; for (j = i + 1; j < size; j++) { //타자 if (arr[index] > arr[j]) { index = j; } } //다 비교하고 나서야 바꿈 temp = arr[index]; arr[index] = arr[i]; arr[i] = temp; //과정 출력 cnt++; printf("\n %d번째 선택정렬 결과: \n", cnt); for (int i = 0; i < size; i++) { printf("%d,", arr[i]); } } } void bubbleSort(int arr[]) { int i, j, temp, cnt = 0; for (i = size-1; i > 0; i--) { //뒤에서부터 정렬 for (j = 0; j < i; j++) { //반복횟수 1씩 줄어듬 if (arr[j] > arr[j + 1]) { //바로 뒷칸과 자리 바꿈 temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } cnt++; printf("\n %d번째 버블정렬 결과: \n", cnt); for (int i = 0; i < size; i++) { printf("%d,", arr[i]); } } } } int main() { int arr[] = { 13,9,7,4,1,11}; selectSort(arr); for (int i = 0; i < size; i++) { printf("%d,", arr[i]); } //bubbleSort(arr); for (int i = 0; i < size; i++) { printf("%d,", arr[i]); } } | cs |
'Programming > C' 카테고리의 다른 글
포인터 (0) | 2017.02.18 |
---|---|
if~else, switch문 (0) | 2017.02.13 |
데이터타입(기본, 파생형) (0) | 2017.02.13 |
시작하기 (0) | 2016.10.29 |