관리 메뉴

도드넷

C언어 - 정렬하기 본문

창고/C언어 [폐쇄]

C언어 - 정렬하기

도드! 2014. 5. 16. 12:33




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