有关链式结构队列删除元素时候的指针问题
请大神看看这个程序 哪里错误了 一到删除就有点懵。。。。
#include <stdio.h>指针
#include <time.h>
#include<iostream>
using namespace std;
struct Passenger{
int presentFloor;//乘客当前楼层
int goalFloor;//目标层
int tolerateTime;//容忍时间
Passenger *next;
Passenger *pre;
};
struct Que{
Passenger *front;//队列头指针
Passenger *rear;//队列尾指针;
int length;
};
void initQue(Que &q){
q.front=(Passenger *)malloc(100*sizeof(Passenger));
q.rear =q.front;
q.length =0;
}
void addQue(Que &q,Passenger p){
q.rear ->next =&p;
p.pre=q.rear;
q.rear =q.rear ->next ;
q.length ++;
}
int queLength(Que &q){
return q.length ;
}
void outQue(Que &q){
q.front ->next =q.front ->next ->next ;
q.front ->next ->pre =q.front;
q.length --;
}
int main(){
Passenger p1,p2;
Que q;
initQue(q);
p1.presentFloor=1;
addQue(q,p1);
addQue(q,p2);
cout<<queLength(q)<<endl;
outQue(q);
cout<<queLength(q)<<endl;
}