• Welcome to the world's largest Chinese hacker forum

    Welcome to the world's largest Chinese hacker forum, our forum registration is open! You can now register for technical communication with us, this is a free and open to the world of the BBS, we founded the purpose for the study of network security, please don't release business of black/grey, or on the BBS posts, to seek help hacker if violations, we will permanently frozen your IP and account, thank you for your cooperation. Hacker attack and defense cracking or network Security

    business please click here: Creation Security  From CNHACKTEAM

Recommended Posts

队列是一种操作受限的线性表,其特点是先进先出(先进先出FIFO)

以下为实现循环队列的顺序存储的代码(本人使用的集成驱动电子设备是视觉Stdio 2019)

# includestdio.h

#includestdlib.h

#定义最大尺寸6

typedef int EleType

//定义队列

数据类型说明结构{

电子类型数据[MaxSize];//用数组实现队列

(同Internationalorganizations)国际组织后部,前部;//定义队列的队头指针和队尾指针

} SqQueue

//初始化队列

bool InitQueue(SqQueue Q)

{

q . rear=0;

q . front=0;

返回真实的

}

//队列判空操作

bool IsEmpty(SqQueue Q)

{

if ((Q.rear==Q.front)==1 )//先判断Q.rear==Q.front成立则这个表达式为1,然后1==1,返回真实的

返回true//——但是这是循环队列,舍弃了一个存储单元,当Q.rear==Q.front时即可判断队空

其他

返回错误的

}

//队列判满操作

bool IsFull(SqQueue Q)

{

if ((Q.rear 1) % MaxSize==Q.front)

返回真实的

其他

返回错误的

}

//元素入队

弯曲件入队(SqQueue Q,EleType e)

{

if((q . rear 1)% MaxSize==q . front)//队列已满报错

返回错误的

q . data[q . rear]=e;//从队尾填入元素

q . rear=(q . rear 1)% MaxSize;//队尾指针进一位

返回真实的

}

//元素出队

删除类型出列(SqQueue Q,删除类型e)

{

if (Q.rear==Q.front)

返回false//队列为空就没有元素可以出队了

e=q . data[q . front];//先将需要被出对的元素赋给e,便于带出来

q . front=(q . front 1)% MaxSize;//再将队头指针进一位

返回e;

}

//求队列长度

EleType QueueLen(SqQueue Q)

{

电子型透镜;

len=(q . rear MaxSize-q . front)% MaxSize;

返回低输入联网(low-entry networking的缩写)

}

//打印队列中元素

空的打印队列(SqQueue Q)

{

EleType I;

for(I=q . front;iQ.rear我)

{

printf('=',q . data);

}

printf(' \ n ');

}

//主函数

int main()

{

布尔ret

EleType x;

SqQueue Q;

初始化队列(Q);

ret=IsEmpty(Q);

如果(返回)

printf('队空\ n’);

其他

printf('队不空\ n’);

EnQueue(Q,1);

入队(Q,2);

入队(Q,3);

入队(Q,4);

入队(Q,5);

ret=已满(Q);

如果(返回)

printf('队满\ n’);

其他

printf('队不满\ n’);

打印队列(Q);

x=出列(Q,x);

printf('被删除的元素是%d\n ',x);

ret=已满(Q);

如果(返回)

printf('队满\ n’);

其他

printf('队不满\ n’);

}

Link to comment
Share on other sites