-
C++ 문자열 정렬Visual Studio/C++ 기초 2013. 12. 6. 14:21
숫자를 오름차순으로 정렬하는 방법은 여러 가지 있지만, 가장 간단한 방법을 사용해보겠습니다.
sort() 라는 함수를 생성하고, 아래와 같은 알고리즘으로 작성합니다.
1. 이 함수는 n개의 정수 중에서 최솟값을 찾아 첫 번째 위치로 옮깁니다.
2. 이후 나머지 n-1개의 숫자 중에서 최솟값을 찾아 두 번째 위치로 옮기고, 이러한 과정을 가장 낮은 값이 나올 때 까지 반복합니다. 예제를 보겠습니다.
#include <iostream>
using namespace std;void sort(int arr[]);
void main(){
int i;
int array[] = {20, 9, 8, 2, 5, 66, 100, 22, 45, 65, 43, 31};cout << "정렬하기 이전 : ";
for(i=0; i<12; i++)
cout << array[i] << " ";sort(array);
cout << "\n정렬 이후 : " ;
for(i=0; i<12; i++)
cout << array[i] << " ";
cout << "\n";
}void sort(int arr[])
{
int i, j, temp;
for(i=0; i<12-1; i++)
for(j=i+1; j<12; j++)
if(arr[i]>arr[j])
{
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}먼저 arr[i]값과 arr[i+1](arr[j])값을 대조 해서 arr[i]가 arr[i+1]보다 크다면 arr[i]의 값을 임시(temp) 변수에 저장합니다. 서로 위치를 변경해 주고 arr[i+1]값을 temp와 같게 해주는 것이죠. 이 과정을 반복합니다.
'Visual Studio > C++ 기초' 카테고리의 다른 글
C++ 자동 변수 (0) 2014.04.08 C++ 기억 클래스 (0) 2014.03.02 C++ int argc, char *argv[] (1) 2013.12.05 C++ 포인터 연산 (0) 2013.11.25 C++ 배열과 포인터 (0) 2013.11.21