본문 바로가기
프로그래밍/알고리즘

알고리즘 정렬(sort) - 버블정렬(Bubble sort)

by -현's- 2012. 4. 1.
반응형

 

●버블정렬(Bubble sort)

- 인접한 두개의 데이터의 값을 비교해서 정렬되어 있지 않으면 교환하는 정렬이다. 이런방법으로  마지막까지 비교하고 교환하면 한 단계가 끝난다. 그리고나서 2번째 데이터부터 다시 두개의 데이터의 값을 비교해 나가면서 비교한다. 다른 정렬에 비해 정렬 속도는 느리지만 코드는 단순하다.

 

●버블정렬 코드

 #include<stdio.h>


int i;
int n=10;                                         //n은 데이터 개수
int data[10]={30,40,20,10,43,12,54,87,34,1};

void bubble(int array[], int n)
{
 int i, j, temp;
 for(i=0;i<n;i++)
 {
  for(j=0;j<n-i-1;j++)
  {
   if(array[j] > array[j+1])            //i번째 데이터와 j+1번재 데이터를 비교해서 j+1번째 데이터가 크면 교환
   {
    temp = array[j];
    array[j] = array[j+1];
    array[j+1] = temp;
   }
    
  }
 }
 
}


void output()
{
 for(i=0; i< n; i++)
 {
  printf("%d ",data[i]);
 }
 printf("\n");
}


int main()
{
 output();
 bubble(data,n);
 output();
 return 0;
}

 


 

 

 

 

반응형

댓글