#include<iostream> using namespace std; const int maxsize = 100; template <class datatype> struct Node { datatype data; Node<datatype> *next; }; template <class datatype> class cirqueue { private: datatype data[maxsize]; int front, rear; public: cirqueue() { front = rear = maxsize - 1; } ~cirqueue(){} void inqueue(datatype x) { if ((rear + 1) % maxsize == front) throw"上溢"; rear = (rear+1)% maxsize; data[rear] = x; } datatype chuqueue() { if (rear == front) throw"下溢"; front = (front + 1) % maxsize; return data[front]; } datatype getqueue() { int i; if (rear == front) throw"下溢"; i = (front + 1) % maxsize; return data[i]; } int empty() { if (front == rear) return 1; else return 0; } }; void main() { cirqueue<int> q; if (q.empty()) cout << "队列为空" << endl; else cout << "队列非空" << endl; cout << "元素10,20,30入队操作" << endl; try { q.inqueue(10); q.inqueue(20); q.inqueue(30); } catch (char* wrong) { cout << wrong << endl; } cout << "查看队头元素:" << endl; cout << q.getqueue()<< endl; cout << "执行出队操作"<<endl; try { q.chuqueue(); } catch (char* wrong) { cout << wrong << endl; } cout << "查看队头元素:"<<endl; cout << q.getqueue()<< endl; }
实验2:顺序链
猜你喜欢
转载自blog.csdn.net/u011633428/article/details/80085948
今日推荐
周排行