
연결 리스트는 데이터 구조 중에 하나로, 고정되어있는 배열과 달리 중간중간 비어있는 메모리에 값을 저장하고 바로 옆에 그 다음 값의 메모리 주소(포인터)를 함께 가진다. 메모리를 효율적으로 사용할 수 있지만 메모리를 두 배로 가지게 된다. 배열처럼 연속적으로 저장되진 않지만 다음 값의 메모리 주소만 알면 값을 읽어들일 수 있다. 1이 저장되고 바로 옆에 2를 가리키는 주소를 함께 가진다. 2는 3의 주소를 함께 가진다. 3 다음은 없기 때문에 널 포인터를 가진다. 연결 리스트는 아래와 같은 구조체로 정의할 수 있다. typedef struct node { int number; struct node *next; } node; node라는 이름의 구조체는 number 와 *next 두 개의 필드를 정의한다...
선형 검색은 원하는 원소가 발견될 때까지 처음부터 마지막 자료까지 차례대로 검색한다. 즉 모든 자료를 확인해야 하므로 정확하지만 효율적이지 못한 방법이다. 따라서 자료가 정렬되어 있지 않거나 아무 정보도 없이 하나씩 찾아야 하는 경우에 유용하다. 선형 검색의 예시 아래 코드는 배열의 크기만큼 반복하고 인덱스를 차례로 확인하며 50을 찾는다. #include #include int main(void) { // numbers 배열 정의 및 값 입력 int numbers[] = {4, 8, 15, 16, 23, 42}; // 값 50 검색 for (int i = 0; i < 6; i++) { if (numbers[i] == 50) { printf("Found\n"); return 0; } } printf("N..
- Total
- Today
- Yesterday
- 구조분해할당
- sr-only
- 함수
- capturing
- RenderTree
- 이벤트위임
- vanillajs
- 폼
- 프로젝트
- Big Ω
- Dom
- CSSOM
- 선형검색
- form
- 연결리스트
- 비구조화할당
- overflow
- 문자열
- CSS
- 포인터
- malloc
- HTML
- pseudo
- 선택자
- valgrind
- intersectionObserver
- 구조체
- Typography
- float
- 동기처리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |