由双LL建立的学生队列

时间:2013-04-01 21:49:58

标签: c++ linked-list queue

我正在开展一个项目,我必须每天从队列中挑选3名学生。我的popFront功能似乎完美无缺 - 因为它打印出正确的学生,但随后我的程序崩溃了。任何人都知道我的函数中是否有某些内容可能导致我的程序崩溃?

void pop_front()
{
    int num = 0;

    if (front == NULL){
        cout<<"No students to pop "<<endl;
        return;
    }


        string value;
        while(num<3)
        {
            Node *temp = front;
            if(front->next)
            {   value = front->name;
                front = front->next;
                front->prev = NULL;
                size--;
                delete temp;
                cout<<value<<" ";
                num++;
                continue;
            }
            value=front->name;
            front = NULL;
            back = NULL;
            delete temp;
            cout<<" Last student in Priority1 list is:  "<<value;
            break;
        }

}

1 个答案:

答案 0 :(得分:0)

您编写的功能没有任何问题。由于代码中的其他功能,您的程序可能已崩溃。检查您是否尝试访问非法内存,即在程序中的任何其他位置之前尚未分配的内存。