ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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

    댓글

Designed by Tistory.