#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 |
댓글