링 버퍼
오래된 데이터를 버리는 용도로 사용
■ 링 버퍼를 활용한 실습
요소의 개수가 n인 배열에 계속해서 데이터가 입력될 때 가장 최근에 들어온 데이터 n개만 저장하고 오래된 데이터는 버리는 용도로 사용
※ 배열 a의 요솟수는 10, 정수 입력(인큐)는 무한히 할 수 있지만 배열에 저장되는 데이터는 가장 최근에 입력한 10개의 데이터만 링 버퍼에 존재
import java.util.Scanner;
public class LastNElements {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
final int N = 10;
int[] a = new int[N]; // 입력 받은 값을 저장
int cnt = 0; //입력 받은 개수
int retry;
System.out.println("정수를 입력하세요.");
do{
System.out.printf("%d 번째 정수 : ", cnt+1);
a[cnt++ % N] = scanner.nextInt();
System.out.print("계속 할까요? (예.1 / 아니요.2) : ");
retry = scanner.nextInt();
} while (retry == 1);
int i = cnt - N;
for( ; i < cnt ; i++){
System.out.print(a[i % N] + " ");
}
System.out.println();
}
}
'Algorithm' 카테고리의 다른 글
[정렬 알고리즘] 단순 선택 정렬 (0) | 2022.01.06 |
---|---|
[정렬 알고리즘] 버블 정렬 (0) | 2022.01.05 |
[기본 자료구조] - 큐 (0) | 2022.01.03 |
기본 자료구조 - 스택[stack] (0) | 2021.12.29 |
검색 알고리즘 - 이진 검색 (0) | 2021.12.29 |