728x90
728x90
#include <stdio.h>
void sort(int* ptr, int len);
void main()
{
int array[] = { 5, 1, 3, 2, 4};
int* ptr = array;
int len = 0;
int i;
len = sizeof(array)/sizeof(array[0]); // array value
for(i=0; i<len; i++) {
printf(" %d", array[i]);
}
printf("\n");
sort(ptr, len); // sort
for(i=0; i<len; i++) {
printf(" %d", array[i]);
}
printf("\n");
}
void sort(int* ptr, int len) { // ptr은 값 // len 은 길이
int i, j, a, temp;
for(i=0; i<len-1; i++) {
for(j=i+1; j<len; j++)
{
if(*(ptr+i)> *(ptr+j)) { // 크면 A와 B를 교환 한다.
temp = *(ptr + i);
*(ptr + i) = *(ptr +j);
*(ptr + j) = temp;
}
for(a = 0; a<len; a++) // 변경 된 사항에 대해서 출력
printf(" %d",*(ptr+a));
printf(" \n");
}
printf(" \n");
}
}
다시 한번 배열을 이용해서 ...
void sort(int* ptr, int len) { // ptr은 값 // len 은 길이
int c = 0,d = 0;
unsigned int swap_data;
// 0 ~ 19 ( 20 개 )
for (c = 0; c < (len) - 1; c++) // 배열의 값 만큼 확인한다.
{
for (d = 0; d < (len) - c - 1; d++)
{
swap_data = 0; // 값을 변경 한다.
if (save_data[d] > save_data[d+1]) /* For decreasing order use < */
{
swap_data = save_data[d];
save_data[d] = save_data[d+1];
save_data[d+1] = swap_data;
}
}
printf("\r\nsort Test\r\n");
}
}
5 1 3 2 4
1 5 3 2 4
1 5 3 2 4
1 5 3 2 4
1 5 3 2 4
1 3 5 2 4
1 2 5 3 4
1 2 5 3 4
1 2 3 5 4
1 2 3 5 4
1 2 3 4 5
1 2 3 4 5
728x90
'WORK > Sotfware' 카테고리의 다른 글
함수 포인터 (0) | 2012.06.20 |
---|---|
포인터 개념 (0) | 2012.06.20 |
hex->ascii / ascii->hex (0) | 2012.05.07 |
von neumann architecture vs harvard architecture (0) | 2012.05.04 |
C언어 자료형의 크기 (0) | 2012.05.04 |
댓글