如何用go语言实现数据结构中的队列数据类型

Python022

如何用go语言实现数据结构中的队列数据类型,第1张

你的代码是想把front到rear的值全部输出

但是你下面的操作自己检查一下没有改变front的值,也没有改变rear的值,所以front!=rear是死循环

如果好一点的话

void printQueue(LinkQueue *Q)/*依次输出队列*/

{

if(Q->front==Q->rear)

{

printf("队列为空")

exit(1)

}

while(Q->front!=Q->rear)/*老师告诉我说是这里的while是死循环,为什么是死循环呢,不是很懂,请细说。请帮我改为正确的代码,谢谢。*/

{

printf("%d, ", Q->front->data)

Q->front=Q->front->next

}

//exit(0)

}试试可不可以,不行再追问

go语言中的for循环,只有for关键字,去除了像其他语言中的while和do while.

注意:for表达式不用加括号

循环输出1到10

运行结果

初始条件,可以写到外面

运行结果

初始条件和结束条件都可以省略

运行结果

这种情况类似其他语言中的while循环

永真循环

运行结果

for循环可以通过break、goto、return、panic语句强制退出循环。