bool Push( ElementType X, Deque D ){
if((D->Rear + 1) %D->MaxSize == D->Front)
return false;//队满
D->Front =((D->Front - 1) + D->MaxSize) % D->MaxSize;//循环数组,
D->Data[D->Front] = X;
return true;
}
ElementType Pop( Deque D ){
if(D->Rear == D->Front)
return ERROR;//队空,无法出队
ElementType a = D->Data[D->Front];
D->Front=(D->Front + 1) % D->MaxSize;
return a;
}
bool Inject( ElementType X, Deque D ){
if((D->Rear + 1)% D->MaxSize == D->Front)
return false;//队满
D->Data[D->Rear] = X;
D->Rear = (D->Rear+1) % D->MaxSize;
return true;
}
ElementType Eject( Deque D ){
if(D->Front == D->Rear)
return ERROR;//队空
else{
D->Rear = (D->Rear - 1 + D->MaxSize) % D->MaxSize;
return D->Data[D->Rear];
}
}
3-4 双端队列
最新推荐文章于 2024-06-20 20:20:21 发布