一起创业网-为互联网创业者服务

手写阵列程序怎么用

手写队列的基本操作包括`push`、`pop`、`front`和`empty`。以下是一个手写队列的示例代码:

```c

include

include

define MAXN 10000000

struct queue {

int maxn;

int first;

int rear;

int a[MAXN];

};

void push(struct queue *q, int x) {

q->a[++q->rear] = x;

}

void pop(struct queue *q) {

q->first++;

}

int front(struct queue *q) {

return q->a[q->first];

}

int empty(struct queue *q) {

return q->first > q->rear ? 0 : 1;

}

int main() {

struct queue q;

q.maxn = MAXN;

q.first = 0;

q.rear = 0;

// 示例操作

push(&q, 1);

push(&q, 2);

push(&q, 3);

printf("Front: %d\n", front(&q)); // 输出: 1

pop(&q);

printf("Front: %d\n", front(&q)); // 输出: 2

printf("Empty: %d\n", empty(&q)); // 输出: 0 (因为队列不为空)

return 0;

}

```

在这个示例中,我们定义了一个结构体`queue`来表示队列,并实现了队列的基本操作。`push`函数将元素添加到队列的末尾,`pop`函数移除队列的第一个元素,`front`函数返回队列的第一个元素,`empty`函数检查队列是否为空。

在`main`函数中,我们创建了一个队列实例`q`,并演示了如何使用这些操作。