728x90
https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=257288899
코딩 테스트를 위한 자료 구조와 알고리즘 with C++
C++ 자료 구조부터 그리디 알고리즘, 분할 정복 알고리즘, 그래프 알고리즘, 동적 계획법과 같은 다양한 알고리즘을 설명한다. 또한, 전통적인 자료 구조와 C++ STL 클래스 구현 사이의 관계를 설명
www.aladin.co.kr
본 책을 사용하여 공부하는 내용이고 해당 글은 상업적으로 배포하고자 하지 않고 개인 공부용입니다
- std::array는 메모리를 자동으로 할당하고 해제함
- std::array는 원소의 타입과 배열 크기를 매개변수로 사용하는 클래스 템플릿임
- #include<array> 꼭 해야함
#include <iostream>
#include<array>
int main()
{
std::array<int, 10> arr1;
arr1[0] = 1;
std::cout << "arr1 배열의 첫 번째 원소 " << arr1[0] << std::endl;
std::array<int, 4> arr2 = { 1,2,3,4 };
std::cout << "arr2의 모든 원소: ";
for (int i = 0; i < arr2.size(); i++)
std::cout << arr2[i] << " ";
std::cout << std::endl;
}
.at()
.at(index)형식으로 사용하며 인자로 전달된 index 값이 유효하지 않으면 out_of_range 를 반환함
.begin() 위치 반환
.end() 위치 반환
의 멤버변수도 존재 / 이 둘은 반복문에 사용함 아무래도 주소, itteration() 느낌이지 않을까 파이썬에서?
함수 | 설명 |
front() | 배열의 첫 번째 원소에 대한 참조를 반환합니다. |
back() | 배열의 마지막 원소에 대한 참조를 반환합니다. |
data() | 배열 객체 내부에서 실제 데이터 메모리 버퍼를 가리키는 포인터를 반환합니다. 반환된 포인터를 이용하여 다양한 포인터 연산을 수행할 수 있습니다. 이 기능은 포인터를 함수의 인자로 받는 예전 스타일의 함수를 사용할 때 유용합니다. |
▲ 그림 1-6 std::array의 원소 접근 함수
#include <iostream>
#include<array>
int main()
{
std::array<int, 5> arr = { 1,2,3,4,5 };
std::cout << arr.front() << std::endl;
std::cout << arr.back() << std::endl;
std::cout << *(arr.data()+1) << std::endl;
// 1,5,2출력
//array size를 10으로 하고 5개만 입력하면 나머지 5개는 0으로 남아있음
}
연습문제 1: 동적 크기 배열 구현하기
to be continued..
728x90
'IE & SWCON > Data Structure (C++)' 카테고리의 다른 글
forward_list (1) | 2024.02.14 |
---|---|
vector (2) | 2024.02.07 |
연속된 자료 구조와 연결된 자료구조 (1) | 2024.02.07 |
[C++ 기초] part 3. Loop (0) | 2024.01.31 |
[C++기초] Part 2. Complex Data (0) | 2024.01.28 |