From 41744c2cc3aad4357e1bd72f2ccd7193a604ba68 Mon Sep 17 00:00:00 2001 From: Jdhggg <24016020834@stu.nsu.edu.cn> Date: Thu, 17 Apr 2025 09:38:24 +0800 Subject: [PATCH] up queue --- .gitignore | 2 ++ array_queue.c | 6 ++++-- main.c | 45 +++++++++++++++++++++++++++++---------------- 3 files changed, 35 insertions(+), 18 deletions(-) diff --git a/.gitignore b/.gitignore index d97cfcc..21b8bb3 100644 --- a/.gitignore +++ b/.gitignore @@ -52,3 +52,5 @@ Mkfile.old dkms.conf /.vs/Project2 /.vs +.vscode/settings.json +*.recipe diff --git a/array_queue.c b/array_queue.c index 4b5b5e4..fcc66e6 100644 --- a/array_queue.c +++ b/array_queue.c @@ -50,7 +50,7 @@ void push_array_queue(array_queue *q, elem_type value) if (full_array_queue(q)) {printf("error: queue is full[From push_queue]"); return;} q->data[q->rear] = value; - q->rear = (q->front + q->size +1) % MAX_QUEUE; + q->rear = (q->front + q->size + 1) % MAX_QUEUE; q->size++; } @@ -73,11 +73,13 @@ void print_array_queue(array_queue *q) printf("error :\n"); return ; } + int j = q->front; for (int i=0;isize;i++) { printf("["); - printf("%d ",q->data[i%MAX_QUEUE]); + printf("%d ",q->data[j%MAX_QUEUE]); printf("]\n"); + j++; } } diff --git a/main.c b/main.c index bae0d69..5d1f060 100644 --- a/main.c +++ b/main.c @@ -1,7 +1,7 @@ #include #include #include -#include "linked_list.h" +#include "array_queue.h" int main(void) { @@ -46,21 +46,34 @@ int main(void) push_array_queue(q, 666); print_array_queue(q);*/ - node* q1 = init_node(1); - node* q2 = init_node(2); - node* q3 = init_node(3); - node* q4 = init_node(4); - q1->next = q2; - q2->next = q3; - q3->next = q4; - //address_node *n = find_node(q1, 3); - // printf("%d\n %p\n", n->n,n->p - //int e = get_node_list(q1); - node* q2_3 = init_node(0); - insert_node(q2, q2_3); - print_node_list(q1); - delete_node(q2); - print_node_list(q1); +// node* q1 = init_node(1); +// node* q2 = init_node(2); +// node* q3 = init_node(3); +// node* q4 = init_node(4); +// q1->next = q2; +// q2->next = q3; +// q3->next = q4; +// //address_node *n = find_node(q1, 3); +// // printf("%d\n %p\n", n->n,n->p +// //int e = get_node_list(q1); +// node* q2_3 = init_node(0); +// insert_node(q2, q2_3); +// print_node_list(q1); +// delete_node(q2); +// print_node_list(q1); + + array_queue *q = init_array_queue(); + push_array_queue(q, 1); + push_array_queue(q, 2); + push_array_queue(q, 3); + print_array_queue(q); + printf("----------\n"); + pop_array_queue(q); + print_array_queue(q); + printf("----------\n"); + push_array_queue(q, 666); + print_array_queue(q); + printf("Hello World!\n"); system("pause"); return 0;