본문 바로가기

분류 전체보기15

[Chap5] 포인터와 연결리스트 [포인터에 대해 정리] 모든 포인터 변수의 크기는 동일하다 *는 어디에 붙여도 상관없다. (char* p 던지, char *p 던지) -> 그렇지만 첫번째가 좋다 ! 포인터 중 void포인터는 아무것도 가리키지 않는 포인터를 의미. -> 필요할 때 마다 다른 포인터로 바꾸어서 사용 포인터는 사용전에 반드시 초기화 할것 void* p; pi = (int*)p; -> p를 정수포인터로 변경해서 pi로 대입하는 것 배열과 포인터 배열 이름 = 배열의 시작부분 가리키는 포인터로 사용 객체와 포인터 전제) (클래스의 객체 s와 포인터변수 ps일 때, ) 's.i' == 'ps -> i' == '(*ps).i' 자체 참조 클래스 : 멤버 변수들 중에 동일한 클래스의 객체를 가리키는 포인터가 한 개 이상 존재하는 클.. 2023. 4. 5.
[Chap4] 과제 [과제 1] - 백준 18258을 원형 큐로 변형 더보기 문제 정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여섯 가지이다. push X: 정수 X를 큐에 넣는 연산이다. pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 큐에 들어있는 정수의 개수를 출력한다. empty: 큐가 비어있으면 1, 아니면 0을 출력한다. front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. back: 큐의 가장 뒤에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. 입력 첫째 줄에 주어지는 명령의.. 2023. 3. 28.
[Chap4] 큐 [큐의 개념] 큐 먼저 들어온 데이터가 나가는 자료구조 FIFO : First in - First out 예) 매표소, 공항 대기열 등 보통 일반적인 경우 큐의 연산 enqueue(a) : 데이터의 뒤에서 삽입 -> 줄설때 뒤에 가서 서야한다 dequeue() : 데이터의 앞에서 삭제 -> 일을 해결하는 것은 맨앞부터 진행되야함 선형 큐 '배열'을 사용하여 큐를 구현하는 것 (뒤에서 데이터를 삽입하고, 앞에서 데이터를 삭제하는 것을 말함) 맨 처음 : front(앞)와 rear(뒤) 모두 -1로 초기화 (-1, 0, 1, 2, 3 ... 이 순서이므로 둘다 +1되어서 뒤로 나가는 것) enqueue(3) : 3을 뒤에 넣으므로 rear은 +1되어서 rear = 0, front = -1 enqueue(7).. 2023. 3. 28.