대열 의 실현
1. 정의:
대기 열 (Queue): 연산 이 제 한 된 선형 표 이기 도 합 니 다.선진 선 출 (First In First Out, 약칭 FIFO) 의 선형 표 다.
팀 첫 번 째 (front): 삭 제 를 허용 하 는 한 끝 을 팀 첫 번 째 라 고 합 니 다.팀 끝 (rear): 삽입 을 허용 하 는 한 끝 을 팀 끝 이 라 고 합 니 다.줄 을 서서 쇼핑 하 다.운영 체제 의 작업 줄 서기.먼저 대열 에 들 어간 구성원 은 항상 먼저 대열 을 떠난다.
2. 실현
struct queue {
unsigned int elem[KEY_BUF_SIZE];//
int front;
int rear;
};
// ,
static struct queue buf = {
.front = 0,
.rear = 0
};
static int queue_isfull(struct kqueue *q)
{
return q->front == (q->rear + 1) % KEY_BUF_SIZE;
}
static int queue_isempty(struct kqueue *q)
{
return q->front == q->rear;
}
static int queue_add(struct kqueue *q, unsigned int elm)
{
if (queue_isfull(q))
return -1;
q->elem[q->rear] = elm;
q->rear = (q->rear + 1) % KEY_BUF_SIZE;
return 0;
}
static int queue_get(struct kqueue *q, unsigned int *elm)
{
if (queue_isempty(q))
return -1;
*elm = q->elem[q->front];
q->front = (q->front + 1) % KEY_BUF_SIZE;
return (*elm);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.