首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

有关链式结构队列删除元素时候的指针有关问题

2013-07-01 
有关链式结构队列删除元素时候的指针问题请大神看看这个程序 哪里错误了一到删除就有点懵。。。。#include st

有关链式结构队列删除元素时候的指针问题
请大神看看这个程序 哪里错误了  一到删除就有点懵。。。。

#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;

}

指针
[解决办法]
问题出在addQue函数,参数p的传值方式不对
你改成指针传递看看

热点排行