[C++] vector Container

2020. 6. 10. 03:36·🖥️ 컴퓨터공학 🖥️/C | C++
반응형

출처 => C++ How to Program (Detitel / Prenticehall) / 현재 그리고 미래지향적인 C++ 프로그래밍(장석우, 임정목 / 비앤씨에듀케이션)

 

배열 vs Vector 차이점 비교

Vector 클래스의 주요 멤버와 연산자

 

Vector를 이용한 예제

1. vector 컨테이너 활용 예제

#include<iostream>
#include<vector>
using namespace std;

void main() {
	vector<int>v;
	//정수만 삽입 가능한 벡터 생성

	v.push_back(1);//벡터에 정수1 삽입
	v.push_back(2);//벡터에 정수2 삽입
	v.push_back(3);//벡터에 정수3 삽입
	
	for (int i = 0; i < v.size(); i++) {
		cout << v[i] << endl;
	}
	cout << endl;

	v[0] = 10;//벡터의 첫 번재 원소를 10으로 변경
	int n = v[2];//n은 3
	v.at(2) = 5;//벡터의 3번째 원소를 5로 변경

	for (int i = 0; i < v.size(); i++) {
		cout << v[i] << endl;
	}
	cout << endl;

}

 

2. 문자열을 저장하는 벡터 예제

#include<iostream>
#include<vector>
#include<string>
using namespace std;

void main() {
	vector<string>sv;//문자열 벡터 생성
	string name;

	cout << "이름 5개를 입력하시오" << endl;
	for (int i = 0; i < 5; i++) {
	//한줄에 한개씩 5개의 이름을 입력받는다.
		cout << i + 1 << ">>";
		getline(cin, name);
		sv.push_back(name);
	}
	name = sv.at(0);//벡터의 첫 원소
	for (int i = 1; i < sv.size(); i++) {
		if (name < sv[i])//name이 sv[i]보다 앞에 나온다면
			name = sv[i];//변경!
	}
	cout << "사전에서 가장 뒤에 나오는 이름은" << name << endl;
}

 

iterator

▶ iterator은 반복자라고도 불린다. 컨테이너의 원소를 가리키는 포인터이고 구체적인 컨테이너를 지정하여 반복자 변수를 생성한다. 

#include<iostream>
#include<vector>
using namespace std;

void main() {
	vector<int>v;
	v.push_back(1);
	v.push_back(2);
	v.push_back(3);

	vector<int>::iterator it;

	for (it = v.begin(); it != v.end(); it++) {
		//iterato를 이용하여 모든 원소 탐색
		int n = *it;//it가 가리키는 원소 값을 return
		n = n * 2;//2를 곱함
		*it = n;//it가 기리키는 원소에 값 쓰기
	}

	for (it = v.begin(); it != v.end(); it++) {
		cout << *it << endl;
	}
	cout << endl;
}

 

 

sort Algorithm

 

#include<iostream>
#include<vector>
#include<algorithm>//sort함수 헤더함수
using namespace std;

void main() {
	vector<int>v;
	cout << "5개의 정수를 입력하시오" << endl;
	for (int i = 0; i < 5; i++) {
		int n;
		cin >> n;
		v.push_back(n);//입력한 정수를 벡터에 삽입
	}

	sort(v.begin(), v.end());

	vector<int>::iterator it;
	//벡터 내 원소를 탐색하는 포인터 변수 iterator 선언

	for (it = v.begin(); it != v.end(); it++) {
		cout << *it ;
	}
	cout << endl;
}

728x90
반응형

'🖥️ 컴퓨터공학 🖥️ > C | C++' 카테고리의 다른 글

[C++] 조건문 (feat. if 문과 switch 문)  (0) 2020.06.17
[C++] 포맷 플래그  (0) 2020.06.12
[C++] C++에서의 배열 선언  (0) 2020.06.08
[C++] 가상함수 상속을 이용하여 값을 변환해주는 클래스 작성  (0) 2020.05.24
[C++] 다중상속을 이용한 연산 프로그램(feat. public 다중상속)  (0) 2020.05.20
'🖥️ 컴퓨터공학 🖥️/C | C++' 카테고리의 다른 글
  • [C++] 조건문 (feat. if 문과 switch 문)
  • [C++] 포맷 플래그
  • [C++] C++에서의 배열 선언
  • [C++] 가상함수 상속을 이용하여 값을 변환해주는 클래스 작성
공대생 배기웅
공대생 배기웅
군노답 미필 공대생 배기웅의 대학생활을 갈아 넣은 블로그
    반응형
  • 공대생 배기웅
    글쓰는공대생의 IT블로그
    공대생 배기웅
  • 전체
    오늘
    어제
    • 분류 전체보기 (166)
      • 🖊️ 공대생 글쓰기 🖊️ (17)
        • 공대생 회고록 (4)
        • 공대생의 끄적끄적 (4)
        • 슬기로운 공대생활 (9)
        • 무한도전 대학원생 (0)
      • 📈 산업공학 📈 (14)
        • 금융, 파생상품 (13)
        • 통계 (0)
        • 선형대수 (0)
        • 보험, 리스크관리 (0)
        • 재무회계 (1)
      • 🖥️ 컴퓨터공학 🖥️ (92)
        • 머신러닝, 딥러닝 (12)
        • 텐서플로우, 케라스 (1)
        • 알고리즘 (24)
        • 웹 (5)
        • Python (3)
        • C | C++ (23)
        • Java (15)
        • 코드 에러 모음집 (9)
      • 😙 취미, 교양 😙 (2)
        • 영어공부 (1)
        • 일본어회화 공부 (1)
      • 🔍 정보 공유 🔍 (38)
        • 대학생 외부활동 정보 (2)
        • 개발자관련 정보 (3)
        • 대입 논술 입시자료 정보 (22)
        • 프로그램 세팅 (11)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

    • [공지] 글쓰는 공대생입니다 😃
  • 인기 글

  • 태그

    equals프레임워크
    알고리즘
    Operator
    자바
    스캐너
    acmicpc
    이클립스
    Java
    경제성공학
    백준
    프로그래머스
    프랜드함수
    객체지향
    데이터베이스
    재귀함수
    조작자
    무작위 변수
    OOP
    C++
    예외
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
공대생 배기웅
[C++] vector Container
상단으로

티스토리툴바