#include<iostream>
using namespace std;
typedef struct node {
int data;
node* next;
}node;
class queue {
public:
queue();
~queue();
bool empty()const;
bool full()const;
int get_front(int& x)const;
int append(const int x);
int serve();
void show();
private:
int count;
node* rear;
node* front;
};
queue::queue() {
front = new node;
rear = front;
front->next = NULL;
count = 0;
cout << "queue sucess\n";
}
queue::~queue() {
while (!empty())serve();
delete front;
cout << "~sucess\n";
}
bool queue::empty()const {
return count == 0;
}
bool queue::full() const {
return false;
}
int queue::get_front(int& x)const{
if (empty())return false;
x =front->next->data;
cout << x<<endl;
return true;
}
int queue::append(const int x) {
if (full()) return false;
node* s = new node;
s->data = x;
s->next = NULL;
rear->next = s;
count++;
cout << "append success\n";
return true;
}
int queue::serve() {
if (empty()) return false;
node* u;
cout << "yes\n";
u = front->next;
front->next = u->next;
delete u;
count--;
if (front->next == NULL) rear=front;
return true;
}
void queue::show() {
cout << count << endl;
}
int main() {
queue q;
int x;
for (int i = 0; i < 10; i++) {
q.append(i);
}
for (int i = 0; i < 10; i++) {
q.serve();
}
return 0;
}
在出隊的時候會出現u是空指標的問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/104463.html
標籤:新手樂園
