언어/c언어

선택정렬

파아랑새 2018. 11. 18. 12:53

# include <stdio.h>

# include <time.h>

# define LEN 10

typedef struct 

{

int arry[LEN];

}STU;

// FUNCTION PROTOTYPE -----------

void _init_(STU* p);     // func (1)

void dataSetting(STU* p); //func (2)

void selectSort(STU* p); // func (3)

// ------------------------------

int main(void)

{

STU node;

_init_(&node);

dataSetting(&node);

selectSort(&node);

return 0;

} // end of main function

// ------------------------------

void _init_(STU* p)     // func (1)

{

int i; // index

for (i = 0; i < LEN; i++)

{

(*p).arry[i] = 0x0;

} // endfor

} // end of _init_ function 

// ------------------------------

void dataSetting(STU* p) // func (2)

{

srand((unsigned)time(NULL));

int i; // index

for (i = 0; i < LEN; i++)

{

(*p).arry[i] = rand() % 30 + 1;

printf("[%2d]", (*p).arry[i]);

if (i != LEN - 1)

{

printf(" => ");

}

}

printf("\n");

} // end of dataSetting function 

void selectSort(STU* p) // func (1)

{

int i, j, k; // index

int tmp;

for (i = 0; i < LEN-1; i++)

{

for (j = i + 1; j < LEN; j++)

{

if ((*p).arry[i] > (*p).arry[j])

{

tmp = (*p).arry[i];

(*p).arry[i] = (*p).arry[j];

(*p).arry[j] = tmp;


for (k = 0; k < LEN; k++)

{

printf("[%2d]", (*p).arry[k]);

if (k != LEN - 1)

{

printf(" => ");

} // endif

} // endfor

printf("\n");

} // endif

} // endfor

} // endfor

} // end of selectSort function