원형 배열
- 고정된 크기의 배열을 마치 양 끝이 연결된 것처럼 사용할 수 있게 한 자료구조.
- 배열의 크기가 N일 때, 배열의 마지막 요소(N-1)에 도착하면, 다음 배열요소는 첫번째 요소(0)로 순환하는 구조.
- 처음 들어간 데이터가 먼저 나오는 FIFO(First in first out) 구조의 데이터 버퍼에 적합. => 큐(Que)
- 비원형의 일반 배열은 마지막에 들어간 데이터가 먼저 나오는 LIFO(Last in first out) 구조의 버퍼에 적합하다
구현
- mod 연산자를 사용하여 마지막 배열의 다음인덱스가 첫 배열 인덱스로 돌아오도록 구현
public static void printArray()
{
//원형탁자에 8명의 사람이 있다고 가정.
// a, b, c, d, e, f, g, h
// 이 때 임의의 사람을 선택해서 그 사람으로부터 시계방향으로 모든 사람들의 명칭을 순서대로 출력하는 프로그램
char[] a = "abcdefg".ToCharArray();
int startIndex = 2;
for (int i = 0; i < a.Length; i++) {
int index = (startIndex + i) % a.Length;
Console.WriteLine(a[index]);
}
}
'알고리즘 & 자료구조 > 자료구조' 카테고리의 다른 글
[자료구조] 단일 연결 리스트(Singly Linked List) (0) | 2023.11.12 |
---|---|
[자료구조] 연결 리스트(Linked List) (0) | 2023.11.12 |
[자료구조] 배열(Array) (0) | 2023.09.12 |
[자료구조] 자료구조(Data Structure)의 정의 (0) | 2023.09.11 |