도드넷
C언어 - 정렬하기 본문
C언어 - 정렬하기 : 배열의 원소들을 크기순으로 정렬하는 방법에대해 알아보는 포스트입니다.
1. 직접 비교해서 자리바꾸기
> 예제
#include <stdio.h>
void main(void)
{
int data[5]={22,3,3,1,4}; // 원하는 숫자들 입력
int i,j;
int tmp; // 임시저장고
for(i=0 ; i<4 ; i++) // 재정렬 : 올바르게 정렬되려면 [자료의 크기 - 1] 만큼 재정렬해야함.
{
for(j=0 ; j<4 ; j++) // 정렬
{
if(data[j] < data[j+1]) // 비교하고 자리바꾸기 ... 오름차 : if(data[j] > data[j+1])
{
tmp=data[j]; // 밑에줄에서 원본값이 덮어띄워지므로 tmp에 임시저장
// 본격 자리바꾸기
data[j]=data[j+1];
data[j+1]=tmp;
}
}
}
for(j=0;j<5;j++) // 결과 출력
{
printf("%d",data[j]);
printf("\n");
}
}
2. qsort() 함수이용해서 정렬하기
- qsort(배열이름, 원수개수, sizeof(원소타입), 비교함수);
- 비교함수 : 인접한 두개의 값을 비교하는 함수
> 예제
> 결과 : 작은 순서대로 출력됨 (1 9 67 94 120)
반응형
'창고 > C언어 [폐쇄]' 카테고리의 다른 글
C언어 - 연산자 (0) | 2014.05.22 |
---|---|
C언어 - sizeof (0) | 2014.05.17 |
ASCII 코드 값을 나타내는 표 - 아스키코드 표 (0) | 2014.05.16 |
C언어 - 반복문 (0) | 2014.05.09 |
C언어 - 입력 출력 함수 (0) | 2014.05.09 |
Comments