Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- MonoBehaviour
- 큐
- 인프런
- 자료구조
- std::unordered_map
- 프래그멘테이션
- Queue
- vector
- list
- 스택영역
- std::map
- 힙영역
- thread
- 객체지향
- 알고리즘
- 멀티쓰레드
- 공부
- 벡터
- c#
- map
- static_cast
- 반복문
- 리스트
- 기술면접
- 해쉬맵
- 배열
- rookiss
- 스택
- 트리
- 차이점
Archives
- Today
- Total
호빵의 IT 개발소
List에서 index를 구현 본문
List에서 at(index)를 구현한다면 연결 리스트 기준으로:
목표:
at(index)는 해당 인덱스에 있는 노드의 데이터를 반환하는 함수
구현 로직 (단일 연결 리스트 기준):
T at(int index) {
Node* curr = head;
int i = 0;
while (curr != nullptr && i < index) {
curr = curr->next;
i++;
}
if (curr == nullptr) throw std::out_of_range("Index out of range");
return curr->data;
}
주의점
- 0 ≤ index < size 체크 필요
- 연결 리스트는 순차 접근이므로 O(n) 시간 복잡도
요약: at(index)는 head부터 차례로 이동하면서 index 번째 노드를 찾아 반환하는 방식으로 구현함.
'자료구조와 알고리즘 > 자료구조와 알고리즘 맛보기' 카테고리의 다른 글
| 벡터(Vector) 사용 시 중간에 삽입이 가능한가? (0) | 2025.03.26 |
|---|---|
| 리스트(List)에서 100만번 째 데이터를 찾는데 검색속도를 줄이려면? (0) | 2025.03.25 |
| [자료구조] 배열과 리스트 (+벡터) (0) | 2022.06.19 |
| [C#] 우선순위 큐 (0) | 2022.01.15 |
| [C#] 이진 트리 (0) | 2022.01.15 |
Comments