#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;
}

이 버블정렬은 최대값을 찾는것과 간략하게 정렬 두가지의 일을 하기 때문에 다소 비효율적이다.
그래서 이 버블정렬은 실제 프로그래밍 하는데 있어서 거의 사용되지 않는다.