STL의 vector 클래스 사용과 정렬의 예
Study/C/C++ 2005. 7. 3. 00:45 |이 예제는 임의의 정수(0~999)를 N개 생성하여 정렬하는 예제이다.
실행 결과의 예는 아래와 같다.
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | #include <string> #include <vector> #include <algorithm> using namespace std; // ... static const int ITER_NUM = 2000; void CStlTestView::OnStlVector() { int i, rn, cnt; CString str, tmp; vector< int > numbers; vector< int >::iterator iter; // 랜덤 발생 초기화 srand ((unsigned int ) time (0)); // 입력 for ( i = 0 ; i < ITER_NUM ; i++ ) { rn = rand () % 1000; numbers.push_back(rn); } // 상위 20개 출력 cnt = 1; str = "After random number generation...nn" ; for ( iter = numbers.begin() ; iter != numbers.begin()+20 ; iter++ ) { tmp.Format( "%2d: %dn" , cnt++, *iter); str += tmp; } AfxMessageBox(str); // 전체 정렬 sort(numbers.begin(), numbers.end()); // 상위 20개 출력 cnt = 1; str = "After sorting the random numbers...nn" ; for ( iter = numbers.begin() ; iter != numbers.begin()+20 ; iter++ ) { tmp.Format( "%2d: %dn" , cnt++, *iter); str += tmp; } AfxMessageBox(str); } |
실행 결과의 예는 아래와 같다.
'Study > C/C++' 카테고리의 다른 글
유니코드의 역사, 인코딩, 프로그래밍 (0) | 2008.10.01 |
---|---|
공백 클래스(empty class)와 바이트 패딩(byte padding) (0) | 2008.08.28 |
상수 객체 참조자에 의한 전달(Pass-by-reference-to-const) (0) | 2008.06.27 |
vector 에서 동적 할당한 데이터 처리하기 (0) | 2008.02.20 |
STL의 priority_queue 사용 예제 (0) | 2006.03.06 |