c_cpp 队列 - C ++中的链接列表实现
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 队列 - C ++中的链接列表实现相关的知识,希望对你有一定的参考价值。
// Queue - Linked List Implementation
#include<iostream>
using namespace std;
class Node
{
public:
int data;
Node *next;
};
class Queue
{
Node *head;
Node *tail;
Node *prev;
Node *temp;
bool isEmpty()
{
return head == NULL;
}
public:
Queue()
{
head = NULL;
tail = NULL;
}
void enqueue(int x)
{
temp = new Node;
temp->data = x;
temp->next = NULL;
if(isEmpty())
{
head = temp;
tail = temp;
}
else
{
prev = tail;
tail->next = temp;
tail = temp;
}
}
void dequeue()
{
temp = head;
head = head->next;
delete temp;
}
void find(int x)
{
int i;
for(i=1, temp = head;temp->next != NULL && temp->data != x;temp = temp->next, i++);
if(temp->data == x)
{
cout << "Found at position:" << i << endl;
}
else if(temp->next == NULL)
{
cout << "Error: Number Not found..." << endl;
}
}
void display()
{
if(!isEmpty())
{
for(temp = head; temp != NULL; temp=temp->next)
cout << temp->data << " ";
cout << endl;
}
else
{
cout << "Queue is Empty!" << endl;
}
}
};
int main()
{
Queue q;
q.display();
q.enqueue(15);
q.display();
q.enqueue(25);
q.display();
q.enqueue(35);
q.display();
q.enqueue(45);
q.display();
q.find(15);
q.dequeue();
q.display();
q.dequeue();
q.display();
q.dequeue();
q.display();
}
以上是关于c_cpp 队列 - C ++中的链接列表实现的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp C ++中的队列数组实现
c_cpp 237.删除链接列表中的节点
c_cpp 搜索链接列表中的元素(迭代和递归)
c_cpp 237.删除链接列表中的节点 - 简单-2018.82
c_cpp 交换链接列表中的节点而不交换数据
c_cpp 编写一个函数以获取链接列表中的第N个节点