#define MAX_QUEUE_SIZE 6
String queue[MAX_QUEUE_SIZE];
int front = 0, rear = -1, count = 0;
void setup() {
Serial.begin(115200);
}
void loop() {
processInput("CT05-Hello");
processInput("DT04-Hi");
processInput("AT17-Welcome");
}
void processInput(String input) {
Serial.println("Nhận chuỗi: " + input);
enqueue(input);
int readCount = getReadCount();
Serial.println("Số phần tử có thể đọc: " + String(readCount));
int availableSpace = getAvailableSpace();
Serial.println("Không gian khả dụng còn lại: " + String(availableSpace));
Serial.println();
}
void enqueue(String item) {
if (count == MAX_QUEUE_SIZE) {
Serial.println("Hàng đợi đã đầy!");
return;
}
rear = (rear + 1) % MAX_QUEUE_SIZE;
queue[rear] = item;
count++;
}
int getReadCount() {
return count;
}
int getAvailableSpace() {
return MAX_QUEUE_SIZE - count;
}