int arrayQueue::takeAway()
{
char letter;
if (empty())
return -1;
else {
Data *p, info;
if (top == NULL)
{
cout << "Error stack empty\n";
} else {
p = top; //top is another Data struct instance
info.value = p->value;
top = p->next;
delete p;
return info.value;
}
}
}
对于我的数据结构课程,我们正在使用指针和链表创建一个队列,但是我不知道如何指向 FIRST 值。就像现在的代码一样,它指向输入的 LAST 值,这在队列设置中没有用。我搜索了其他示例,但我只能找到使用多个链表的示例。如果有人有任何想法,将不胜感激!
编辑:这是我将东西添加到队列中的方式
void arrayQueue::addToQueue(char x)
{
if (full())
cout << "Error, queue full \n";
else {
Data *p;
p = new Data;
p->value = x;
p->next = top;
top = p;
}
}
这是我的结构
struct Data
{
char value;
Data *next;
};