본문 바로가기

ETC Programmings

TranspositionSort 알고리즘

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

# include <stdio.h>

void transpositionSort(int array[], int size);
void swap(int *base, int *target);
void display(int array[], int size);

void transpositionSort(int array[], int size){
 int i,j;
 for (i = 0; i < size; ++i){
  printf("After Pass %d   :" ,i);
  for (j = i + 1; j < size; ++j){
   if(array[i] > array[j])
    swap(&array[i], &array[j]);
  }
  display(array,size);
 }
}

void swap(int* base, int* target){
 int temp = *base;
 *base = *target;
 *target = temp;
}
void display(int array[], int size){
 int i;
 for (i = 0 ; i < size ; i++)
  printf("%d   ", array[i]);
 printf("\n");
}

int main(){
 int array[] = { 7, 3, 66, 3, -5, 22, -77, 2 };
 printf("Unsorted Data : ");
 display(array, 8);
 transpositionSort(array, 8);
}

좌측부터 최소값을 구해서 차곡차곡 저장하는 정렬방법..
포인터를 이해하는데 나름 괜찮은 연습문제..
ToDoTask
배열 사이즈 구하는 함수
배열에서 유용한 함수 만들어 놓기
연습문제 9-12 과제 낼것