TypeScript의 데이터 구조 - 대기열
3436 단어 queuetypescriptdatastructures
대기열은 단일 공유 리소스에 대한 요청, CPU 스케줄링과 같이 해당 순서(FIFO)로 사물을 처리하는 데 필요할 때마다 사용할 수 있으며 그래프의 너비 우선 검색과 같은 다른 데이터 구조의 알고리즘에도 도움이 됩니다.
대표
큐는 배열 또는 연결 목록을 사용하여 구현할 수 있으며 고정 또는 동적 크기일 수 있습니다.
기본 조작
추가 - 대기열 끝에 항목을 추가합니다. 대기열에 넣기도 합니다.
제거 - 큐에서 제거라고도 하는 큐에서 첫 번째 항목을 제거합니다.
엿보기 - 대기열을 제거하지 않고 대기열의 맨 위를 반환합니다.
isEmpty - 큐가 비어 있으면 true를 반환합니다.
isFull - 큐가 고정된 크기일 때 사용되는 스택이 가득 차면 true를 반환합니다.
다음은 배열을 사용하는 대기열의 구현입니다. TypeScript에서 배열은 고정 길이가 없으므로 작업 isFull이 필요하지 않지만 고정 길이의 대기열을 구현하고 해당 작업을 사용할 수 있습니다.
class Queue<T> {
private array: T[] = [];
add(data: T): void {
this.array.push(data);
}
remove(): T | undefined {
if (this.isEmpty()) throw new EmptyQueueException();
return this.array.shift();
}
peek(): T {
if (this.isEmpty()) throw new EmptyQueueException();
return this.array[0];
}
isEmpty(): boolean {
return this.array.length === 0;
}
}
Reference
이 문제에 관하여(TypeScript의 데이터 구조 - 대기열), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ricardo_borges/data-structures-in-typescript-queue-4p18텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)