# include <stdio.h>
# include <stdlib.h>
# include <time.h>
# define LEN 6
typedef struct nData {
int x[LEN];
}nData, *pNdata;
//========================================
void _init_(nData** nparam);
void _bubbleSort_(nData** nparam);
void _last_(nData** nparam);
//========================================
int main(void) {
srand((unsigned)time(NULL));
pNdata node = NULL;
node = (pNdata)malloc(sizeof(nData));
_init_(&node);
_bubbleSort_(&node);
_last_(&node);
free(node);
return 0;
} // end of main function
//========================================
void _init_(nData** nparam) {
int i;
printf("초기값 : ");
for (i = 0; i < LEN; i++) {
*((*nparam)->x + i) = rand() % 100 + 1;
printf("%2d", *((*nparam)->x + i));
if (i != LEN - 1) {
printf(" ");
}
}
printf("\n");
} // end of _init_ function
//========================================
void _bubbleSort_(nData** nparam) {
int i, j, k;
int temp = 0;
for (i = 1; i <= LEN-1; i++) {
printf("%2d단계 : ", i);
for (j = 0; j < LEN-1; j++) {
if ((** nparam).x[j] > (** nparam).x[j + 1]) {
temp = (** nparam).x[j];
(** nparam).x[j] = (** nparam).x[j + 1];
(** nparam).x[j + 1] = temp;
}
}
for (k = 0; k < LEN; k++) {
printf("%2d", *((*nparam)->x + k));
if (k != LEN - 1) {
printf(" ");
}
}
printf("\n");
}
} // end of _bubbleSort_ function
void _last_(nData** nparam) {
int i;
printf("정렬결과 : ");
for (i = 0; i < LEN; i++) {
printf("%2d", *((*nparam)->x + i));
if (i != LEN - 1) {
printf(" ");
}
}
printf("\n");
} // end of _last_ function