游客已登陆 (0)未知
笔行证 257310
昵称 kuan 
笔贝 Score1
加为好友 发送短信
<< << 2009 一月 >> >>
123
45678910
11121314151617
18192021222324
25262728293031

访问计数:27143
本文:222 今天:1 本月 222

本地音乐播放器



 
       队列的顺序存储
2007-04-12 晴

出处或者来源:课本

struct Queue
{
ElemType queue[QueueMaxSize];
int front, rear;
};

void InitQueue(Queue &Q)
{
Q.front = Q.rear = 0;
}

void ClearQueue(Queue &Q)
{
Q.front = Q.rear = 0;
}

int QueueEmpty(Queue &Q)
{
return Q.front == Q.rear;
}

ElemType QFront(Queue &Q)//返回队首元素,不改变队列状态
{
if(Q.front == Q.rear)
{
cerr<<"Queue is empty!"<<endl;
exit(1);
}
return Q.queue[(Q.front+1)%QueueMaxSize]; //队首元素是队首指针的下一个位置中的元素
}

void QInsert(Queue &Q, const ElemType &item)
{
int k=(Q.rear+1)%QueueMaxSize;//求出队尾的下一个位置
if(k == Q.front)
{
cerr<<"queue overflow!"<<endl;
exit(1);
}
Q.rear = k;//改队尾指针使之指向下一个位置
Q.queue[k]=item;
}

ElemType QDelete(Queue &Q)//删除队首元素并返回之
{
if(Q.front == Q.rear)
{
cerr<<"Queue is empty!"<<endl;
exit(1);
}
Q.front = (Q.front +1)% QueueMaxSize;
return Q.queue[Q.front];
}

int QueueFull(Queue &Q)//检查一个队列是否已满
{
return (Q.rear+1)%QueueMaxSize == Q.front;
}.
# posted by kuan @ 2007-04-12 12:50:03 评论(0)
 








 
笔 名:
*
评 论:
最多1000字。当前字数:0
*
联系方式: