반응형
큐 자료구조
큐는 도착한 순서대로 데이타를 꺼내서 사용하는 선형적인 자료구조이다.
흔히 FIFO(퍼스트 인 퍼스트 아웃)이라고 불리운다.
먼저 저장된 것이 먼저 꺼내진다.
만약 즉시 처리하지 않아도 되는 일이라면 큐에 넣어서 차례대로 순서를 처리할때 사용한다.
큐는 흔희 배열이나 연결리스트를 사용하여 구현하곤한다.
우선순위 큐와 데크는 한 방향이아니라 나가는 쪽에서 들어오고 나가나는것이다.
고정배열을 사용한 큐
구현 고정된 배열을 할당하고 ★Front와 ★Rear인덱스를 관리하면서 큐를 구현
데이타를 추가할때 Rear 인덱스에 넣는다. 데이타를 읽고나 제거할때는 Front 인덱스
제거할때는 Front 인덱스를 다음 요소로 이동허가나, Front 앞으로 땡겨옮는 방식
큐를 구현할때 고정배열이 갖는 문제점을 해결하기 위해 흔히 원행벼열을 사용한다.
Front와 Rear 인덱스를 사용하는게 핵심
큐를 구현한느 기본요소
1초기 상태에서 프론드와 니어 인덱스를 -1로 설정한다.★
2큐에 데이타를 처음추가할때 A[0]에 넣고, 프론드와 니어는 0이 된다.
3추가할때 큐가 가득차지 않았으면 다음 위치 즉 니어 + 1 / A.렝스 위치로 이동하여 데이타를 넣는다.
☆큐가 가득한 찬 상태인지를 체크하는 건 (Rear + 1) / A.렝스 == front // 표현
☆ 마지막 요소를 읽어낼때 즉, Front와 Rear가 같을때 // 마지막 요소를 읽은 다음에으는 초기화 -1로
둘다 -1 이면 비어있는 상태
반응형
'C# > 자료구조' 카테고리의 다른 글
0330_단일 연결리스트로 stack 구현하기 (0) | 2021.03.30 |
---|---|
0330 _ 고정배열로 Stack 구현하기 (0) | 2021.03.30 |
0330_단일 연결 리스트로 큐 구현하기 (0) | 2021.03.30 |
0329 _ 단일연결 리스트 (2단계까지) / (0) | 2021.03.29 |
0329 _ 동적배열 (0) | 2021.03.29 |