Опашка (абстрактен тип данни): Разлика между версии

мРедакция без резюме
</script>
</body>
</source>
Пример за употреба на опашка в [[C++]]
<source lang="cpp">
#include <stdio.h>
#include <stdlib.h>
#define M 100
typedef float ElementType;
struct Queue
{
int r, f;
ElementType QueueArray[M];
};
void pushq(struct Queue *q, ElementType x)
{
if((q->r + 1) % M == q->f)
{
printf ("Препълване! ");
exit(1);
}
q->r = (q->r + 1) % M;
q->QueueArray[q->r] = x;
}
ElementType popq(struct Queue *q)
{
if(q->r == q->f)
{
printf("Празна опашка! ");
exit(1);
}
q->f = (q->f + 1) % M;
return q->QueueArray[q->f];
}
void main()
{
struct Queue mem = {0, 0}; //създаване на празна опашка
ElementType y = 3.14f;
int i;
for(i = 1; i <= 99; i++)
pushq(&mem, y+=1.1f);
for(i = 1; i <= 99; i++)
printf("%.2f ", popq(&mem));
}
</source>
 
2

редакции