C언어 수업정리/4월 수업정리
4월 2일 버블정렬, 예제 7-6.c
송시혁
2013. 4. 2. 15:52
앞의 숫자와 뒤의 숫자를 비교하여 자리를 바꿔는 정렬.
내림차순으로 바꿀수도 있고 오름차순으로 바꿀수도있다.
다음은 관련예제.
#include <stdio.h> void bubble_sort (int *array, int count); void swap (int *px, int *py); void printVector(int V[], int n);
int main() { int vector[5] = {5, 4, 3, 2, 1}; bubble_sort (vector, sizeof(vector)/sizeof(vector[0]) ); }
void bubble_sort (int array[], int count) //void bubble_sort (int *array, int count) { int i; int j;
printf("array : %d\n", sizeof(array)); //array = &i;// array는 포인터!
for(i = 0; i < count-1; i++)//전체도는 회수,count { for(j= 0; j<count -1 -i; j++)//세로줄 도는 회수 { if(array[j] < array[j + 1]) { swap(&array[j], &array[j + 1]); printVector (array, count); } } printf("\n"); }
}
void swap (int *px, int *py) { int temp;//위치바꾸기 위한 변수. temp = *px; *px = *py; *py= temp; }
void printVector (int V[], int n) {
int i; for(i =0; i< n; i++) { printf("%5d", V[i]); } printf("\n"); }

|