创建一个队列 对整型数据进行存放 设定存放数据的个数 并进行取出数据 求得取出数据后队列里还剩的数据

Posted insist钢

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建一个队列 对整型数据进行存放 设定存放数据的个数 并进行取出数据 求得取出数据后队列里还剩的数据相关的知识,希望对你有一定的参考价值。

 1 #include <stdio.h>
 2 #define Max 100
 3 
 4 void SetNull(front, rear)
 5 int *front, *rear;
 6 {
 7     *front = 0;
 8     *rear = 0;
 9 }
10 
11 int Empty(front, rear)
12 int *front, *rear;
13 {
14     if (*front == *rear)
15         return(1);
16     else
17         return(0);
18 }
19 
20 int EnQueue(q, x, front, rear)
21 int q[];
22 int x;
23 int *front, *rear;
24 {
25     *rear = (*rear + 1) % Max;
26     if (*front == *rear)
27 
28     {
29         printf("队列发生上溢\n");
30         return(-1);
31     }
32     else
33     {
34         q[*rear] = x;
35         return(0);
36     }
37 }
38 
39 int DelQueue(q, y, front, rear)
40 int q[];
41 int *y;
42 int *front, *rear;
43 {
44     *front = (*front + 1) % Max;
45     if (*front == *rear)
46     {
47         printf("队列发生下溢\n");
48         return(-1);
49     }
50     else
51     {
52         *y = q[*front];
53         return(0);
54     }
55 }
56 
57 int main()
58 {
59     int q[Max];
60     int f = 0, r = 0;    /*f和r分别对应队列的头和尾在整个队列存储区域的位置*/
61     int i, x, m, n;
62     int a;
63     SetNull(&f, &r);            /*清空队列*/
64     printf("要输入队列的字符个数:\n");
65     scanf("%d", &m);
66     printf("输入队列的整型数据:\n");
67     for (i = 0; i<m; i++)
68     {
69         i = i;
70         scanf("%d", &x);
71         a = EnQueue(q, x, &f, &r);
72         if (a == -1)
73             break;
74     }
75     printf("要提出队列的字符个数:");
76     scanf("%d", &n);
77     printf("输出从队列中提取的数据:\n");
78     for (i = 0; i<n; i++)
79     {
80         if (DelQueue(q, &x, &f, &r) == -1)
81             break;
82         printf("%d\n", x);
83     }
84     if (Empty(&f, &r) == 1)
85         printf("队列为空");
86     else
87         printf("队列中还有%d个数据", (m - n));
88     getchar();
89     return 0;
90 }

 

以上是关于创建一个队列 对整型数据进行存放 设定存放数据的个数 并进行取出数据 求得取出数据后队列里还剩的数据的主要内容,如果未能解决你的问题,请参考以下文章

求助C语言的问题"用数组实现顺序队列"

不创建第三方变量对整型数组逆置

rabbitMQ想最快的往队列中存放9千万条数据怎么弄

pyhton中的Queue(队列)

C语言试题三十五之找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。主函数中x是数组名,n 是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。

C语言试题三十五之找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。主函数中x是数组名,n 是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。