#include <stdio.h> #include <stdint.h> typedef struct{ int buffer[10]; int head; int tail; int count; int capacity; }Circular_t; void create_circular(Circular_t *cb){ for(int i = 0; i<10; i++){ cb->buffer[i] = (i+1)*10; cb->head = 3; cb->tail = 7; cb->count = 6; cb->capacity = 10; } } void getCircularBuffer(Circular_t *cb, int size){ //size: so luong phan tu muon doc for(int i = 0; i < size; i++){ if(i < cb->count){ printf("%d",cb->buffer[(cb->tail + i)%cb->capacity]); } else{ printf("NULL"); } if(i < size-1){ printf(" "); } } } int main(){ Circular_t cb; create_circular(&cb); int size; scanf("%d",&size); getCircularBuffer(&cb, size); return 0; }
Test Cases
Test Results
Input
4
Expected Output
80 90 100 10