#include "stdafx.h"
void swap(int *a,int *b)
{
int temp=0;
temp=*a;
*a=*b;
*b=temp;
}
int _tmain(int argc, _TCHAR* argv[])
{
const int total=8;
int data[80]={4,7,3,1,5,8,2,6};
int i=0,j=0,count=0,c_compare=0,c_exchange=0,min=9999,min_index=0;
printf("n[정렬전]",i);
for(count=0;count<total;count++)
printf("%2d ",data[count]);
printf("n");
for(i=0;i<(total-1);i++)
{
for(j=0;j<(total-1-i);j++)
{
if(data[j] > data[j+1])
{
swap(&data[j],&data[j+1]);
}
}
printf("n[%2d회전]",i+1);
for(count=0;count<total;count++)
printf("%2d ",data[count]);
}
printf("nn[정렬후]");
for(count=0;count<total;count++)
printf("%2d ",data[count]);
printf("n비교횟수:%d 교체회수:%d",c_compare,c_exchange);
return 0;
}
이 버블정렬은 최대값을 찾는것과 간략하게 정렬 두가지의 일을 하기 때문에 다소 비효율적이다.
그래서 이 버블정렬은 실제 프로그래밍 하는데 있어서 거의 사용되지 않는다.