본문 바로가기
자료구조

버블 정렬

by chaechaekim 2019. 9. 11.
#include<stdio.h>
#define MAX_SIZE 5

int bst(int A[], int n) {
	int Bound, j, top, tem;
	Bound=-1;
	do{
		top=n;
		for(j=top-1; j>Bound; j--) {			
			if(A[j]<A[j-1]) {
				tem = A[j];
				A[j] = A[j-1];
				A[j-1] = tem;
				top = j;
			}
			printf("계산과정: ");
				for(int k=0;k<n;k++)
					printf("%d ", A[k]);
				printf("\n");
		}
		Bound = top;
	}while(top<n);
}

int main()
{
	int n = MAX_SIZE;
	int A[n]={};
	printf("입력 : ");
	for(int i = 0; i < 5; i++){
		scanf("%d", &A[i]);
	}
	bst(A, n);
	for(int i=0;i<n;i++) {
		printf("%d ", A[i]);
	}
}

/*

입력 : 5 4 3 2 1
계산과정: 5 4 3 1 2
계산과정: 5 4 1 3 2
계산과정: 5 1 4 3 2
계산과정: 1 5 4 3 2
계산과정: 1 5 4 3 2
계산과정: 1 5 4 2 3
계산과정: 1 5 2 4 3
계산과정: 1 2 5 4 3
계산과정: 1 2 5 3 4
계산과정: 1 2 3 5 4
계산과정: 1 2 3 4 5
1 2 3 4 5
--------------------------------
Process exited after 7.237 seconds with return value 0
계속하려면 아무 키나 누르십시오 . . .

*/

 

 

'자료구조' 카테고리의 다른 글

삽입정렬  (0) 2019.09.30
선택 정렬  (0) 2019.09.10
최댓값 찾기  (0) 2019.09.03
dfs-bfs(연결리스트)  (0) 2019.08.23
행렬을 이용한 BFS  (0) 2019.08.20

댓글