티스토리 뷰
C언어 프로그래밍은 물론 그 이외의 언어에서도 정렬알고리즘의 사용빈도는 매우 높습니다. 왜냐하면 사용자로 부터 입력받은 데이터는 정렬이되지 않은 상태이므로 가장 최우선시 되어야할 부분이 '정렬'입니다.
'정렬'를 위한 알고리즘은 여러가지가 있지만 가장 많이 이용되는 것이 버블 정렬과 선택정렬입니다. 여기서 알고리즘이란 쉽게 생각하면 어떤 문제를 해결하기 위한 과정이나 절차를 의미하며 쉽게 말하면 작업을 위한 순서정도로 생각하시면 편합니다.
오늘은 정렬알고리즘 중에 가장 사용빈도가 높고 쉬운 버블정렬에 대해 소개하고자 합니다.
[코드]
#include <stdio.h> int main(void){ int array[10] ={21, 65, 30, 54, 87, 98, 65, 78, 54,21}; // 비교하고자 하는 숫자들의 변수를 배열로 선언. int i, j, temp; // 버블알고리즘을 사용하여 오름차순 정리, 내림차순 정리를 할 수 있다. // 비교하고자 하는 숫자들을 반복문을 이용하여 비교한다. for( j = 9 ; j > 0 ; j-- ){ for( i = 0 ; i < j ; i++){ if( array[i] > array[i+1] ){ // swap : array[i] & array[i+1] temp = array[i]; array[i]= array[i+1]; array[i+1]=temp; } } } for( i = 0 ; i<10 ; i++ ){ printf("%d\n", array[i]); } return 0; }
버블 정렬은 데이터를 하나하나씩 비교하면서 오름차순 또는 내림차순으로 데이터를 정렬하는 방식이며 위에 그림과 같이 반복문을 통해 입력받은 데이터를 하나하나씩 정렬해나가는 방식입니다.
※공감은 블로거에게 큰힘이 됩니다.
'나는 오늘도 공부한다 > C언어&CPP' 카테고리의 다른 글
C언어 반복문을 이용한 피라미드 만들기 (0) | 2014.04.13 |
---|---|
C언어 홀수, 짝수 판별하기 (0) | 2014.04.12 |
C/CPP ASCII Table(아스키코드표) (0) | 2014.04.12 |
C언어 사칙 연산 계산기 만들기 (1) | 2014.04.11 |
C언어 반복문 구구단 실습예제 (2) | 2014.03.30 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 서비스센터
- 카카오링크
- javascript
- 블로그 활성화
- 다이아몬드 만들기
- c언어 연습문제
- 보조배터리
- 윈도우 단축키
- 파비콘
- 파이썬
- 웹페이지 제작
- 정렬 알고리즘
- 반복문
- pasilda
- 제어문
- 윈도우10
- 한컴 오피스
- 별찍기
- 실습예제
- 샤오미
- 검색 등록
- c언어
- cpp
- 프로그래밍
- math.h
- 구글 검색등록
- 구굴 RSS등록
- 파비콘 만들기
- 프로그래밍 배우기
- html5
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함