언어/c언어

선택정렬

파아랑새 2016. 4. 15. 17:16

// <작성일: 2016 04 15 금요일>
// <작성자: 김준현>
// <주제: 선택정렬>
// version 0.1
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define _SIZE_ 20
//Function-------------------------------------
void insert_data(int* pointer_array);
void select_sort(int* pointer_array);
//---------------------------------------------
//Main
int main(void) {
 srand((unsigned)time(NULL));
 int A_RRAY[_SIZE_] = { 0, }; //
 insert_data(A_RRAY);
 select_sort(A_RRAY);
 return 0;
}
void insert_data(int* pointer_array) {
 int index;
 for (index = 0; index < _SIZE_; index++) {
  *(pointer_array + index) = rand() % 23 + 1;
 }
 //ECHO TEST PRINTF
 for (index = 0; index < _SIZE_; index++) {
  printf("%d ", *(pointer_array + index));
 }printf("\n");
}
void select_sort(int* pointer_array) {
 int index_i, index_j, index_k;
 int exchange_temp = 0;//
 for (index_i = 0; index_i < _SIZE_ - 1; index_i++) {
  for (index_j = index_i + 1; index_j < _SIZE_; index_j++) {
   if (*(pointer_array + index_i) > *(pointer_array + index_j)) {
    exchange_temp = *(pointer_array + index_i);
    *(pointer_array + index_i) = *(pointer_array + index_j);
    *(pointer_array + index_j) = exchange_temp;
   }
  }
 }
 for (index_k = 0; index_k < _SIZE_; index_k++) {
  printf("%d ", *(pointer_array + index_k));
 }printf("\n");
}