[150422][C++]数据结构复习——队列实现源码

来源:互联网 发布:js重写confirm样式 编辑:程序博客网 时间:2024/05/17 02:02
#include <iostream>#include <string>#include <cstdlib>using namespace std;class Queue{private:struct QueueNode{string value;QueueNode* next;}*head;public:Queue(){head = new(QueueNode);head->next = NULL;}int Push(string value){QueueNode* p = new(QueueNode);p->value = value;QueueNode* h;for (h = head; h->next != NULL; h = h->next);p->next = h->next;h->next = p;return 1;}int Pop(string& value){if (!IsEmpty()){value = head->next->value;QueueNode* p = new(QueueNode);p = head->next;head->next = p->next;delete(p);return 1;}elsereturn 0;}bool IsEmpty(){if (head->next == NULL)return true;elsereturn false;}int GetFront(string& value){if (!IsEmpty()){value = head->next->value;return 1;}elsereturn 0;}int GetTail(string& value){if (!IsEmpty()){QueueNode* h;for (h = head; h->next != NULL; h = h->next);value = h->value;return 1;}elsereturn 0;}};int main(){string str1, str2, str3;Queue q;q.Push("A");q.Push("B");q.Push("C");q.Pop(str1);q.GetFront(str2);q.GetTail(str3);cout << str2 << endl << str3 << endl;system("pause");return 0;}

0 0