스택 2

[CS50] 스택, 큐, 딕셔너리

오늘은 이전까지 공부했던 내용 중에 다뤘던 자료이기도 하지만 많이 쓰이는 데이터 구조 3가지를 더 자세히 알아볼 텐데요 메모리 구조인 큐, 스택부터 해시 테이블로 구현할 수 있는 딕셔너리에 대해 공부해보도록 하겠습니다. 큐(Queue) 큐는 메모리 구조에서 잠깐 언급했지만 값이 아래로 쌓이는 구조를 가지고 있습니다. 값을 뺄 때는 FIFO(First In First Out), 즉 선입선출방식으로 가장 먼저 들어온 값이 가장 먼저 나가게 됩니다. Queue의 사전적 정의를 보면 (무엇을 기다리는 사람, 자동차 등의) 줄, 혹은 줄을 서서 기다리는 것이라고 나와있습니다. 만약 은행에서 줄을 설 때 먼저 줄을 선 사람이 먼저 업무를 처리하는 것과 같다고 보시면 됩니다. 큐는 배열이나 연결리스트를 통해 구현이 ..

[CS50] 메모리 교환, 스택, 힙

오늘은 메모리에 이미 저장된 값을 교환할 때 어떤 방식으로 교환해야 하는지에 대해 공부해보도록 하겠습니다. 가장 먼저 swap이라는 함수를 따로 만들어서 입력받은 정수 a, b를 교환하는 작업을 해보도록 하겠습니다. #include void swap(int a, int b); int main(void) { int x = 1; int y = 2; printf("x 는 %i, y 는 %i\n", x, y); swap(x, y); printf("x 는 %i, y 는 %i\n", x, y); } void swap(int a, int b) { int tmp = a; a = b; b = tmp; } 위의 코드처럼 x, y에 각각 정수를 입력하고 swap 함수를 사용해 바꿔봤습니다. 결과가 어떻게 나올까요?? 분명히..

CS 기초/메모리 2021.08.24