summaryrefslogtreecommitdiffhomepage
path: root/misc/examples/new_pque.c
blob: 57f27dc4454922118858da76cc3163099d9e4230 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>

struct Point { int x, y; } typedef Point;

#define i_type PointQ
#define i_val Point
#define i_less(a, b) a->x < b->x || (a->x == b->x && a->y < b->y)
#include <stc/cpque.h>


int main()
{
    c_auto (PointQ, pque)
    {
        pque = c_make(PointQ, {{23, 80}, {12, 32}, {54, 74}, {12, 62}});
        
        // print
        for (; !PointQ_empty(&pque); PointQ_pop(&pque))
        {
            const Point *v = PointQ_top(&pque);
            printf(" (%d,%d)", v->x, v->y);
        }
        puts("");
    }
}