되는대로 살자

[Algorithm] Shake sort 본문

2009~2014/C/C++

[Algorithm] Shake sort

malu 2012. 1. 13. 22:01
#include <stdio.h>

#define N 6

int main(void)
{
 int a[1000];
 int left,right,i,shift,t,j,cnt=0;
 int n;
 scanf("%d",&n);
 for(i=0;i<n;i++) scanf("%d",&a[i]);
 left=0; right=N-1;
 while(left<right){
  for(i=left;i<right;i++){
   if(a[i]>a[i+1]){ 
    t=a[i]; a[i]=a[i+1]; a[i+1]=t;
    shift=i;
   }
  }
  right=shift;
  for(i=right;i>left;i--){
   if(a[i]<a[i-1]){
    t=a[i]; a[i]=a[i-1]; a[i-1]=t;
   }
  }
  left=shift;
 // cnt++;
 }
 for(i=0;i<N;i++)
  printf("%d ",a[i]);
 printf("\n%d",cnt);

 return 0;
}

'2009~2014 > C/C++' 카테고리의 다른 글

[Algorithm] select sort  (0) 2012.01.13
[Algorithm] bubble sort  (0) 2012.01.13
[Algorithm] heap sort  (0) 2012.01.13
[올림피아드 기출문제&풀이]  (0) 2011.12.12
[C언어 기출문제&풀이] 문제가 뭐엿더라  (0) 2011.12.08