存储特点:先进先出,后进后出
队列实现
实现方式 | 指针 | 入队列 | 出队列 | 边界条件 |
顺序队列 | head、tail | tail++、数据搬移 | head++ | |
链式队列 | head、tail | tail->next= new_node, tail = tail->next | head=head->next | |
循环队列 | head、tail | tail=(tail+1)%n | head=(head+1)%n | 队列空:head==tail 对列满:(tail+1)%n=head |
队列应用
场景 | 使用 | |
阻塞队列 | 生产者生产数据过快或者消费者消费数据过快 | 生产者或者消费者阻塞等待,直到数据正常 |
并发队列 | 多个线程同时操作队列 | 同一时刻只允许一个存或取操作 |