본문 바로가기

C++

STL vector와 sort

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
#include <iostream>
#include <vector>
#include <algorithm>
 
using namespace std;
 
// 5개의 정수를 읽어서 오름차순으로 정렬하라
int main()
{
    vector<int> v;
 
    cout << "5개의 정수를 입력하세요\n";
    for (int i = 0; i < 5; i++) {
        int n;
        cin >> n;
        v.push_back(n);
    }
 
    sort(v.begin(), v.end());
 
    for (int i = 0; i < v.size(); i++)
        cout << v[i] << "\t";
    cout << endl;
 
    // iterator 사용
    vector<int>::iterator it;
    for (it = v.begin(); it != v.end(); it++)
        cout << *it << "\t";
    cout << endl;
}
cs

위의 프로그램은 vector를 사용하여 sort하는 프로그램의 예이다.

sort() 함수를 사용하려면 <algorithm>을 include 해야 한다.

iterator를 이용하여 v.begin() ~ v.end() 까지 반복할 수도 있고, 일반 배열처럼 인덱스로 출력할 수도 있다.

단, vector에 값을 넣을 때에는 cin >> v[i] 와 같이 사용하면 에러가 발생한다(vector subscript out of range 에러). v.push_back() 함수를 써야 한다.

 

beeeye dmu