关于建设官方网站的申请,织梦做仿站时 为何会发生本地地址跳转网站地址,最近广告公司,定制化网站建设公司目录
#x1f37a;0.前言
1.什么是队列
2. 队列的实现
2.1定义队列节点
2.2定义队列
2.3队尾入队列
2.4判断队列是否为空
2.5队头出队列
2.6 队列首元素
2.7队尾元素
2.8队列内的元素个数
2.9销毁队列
3.试运行
#x1f48e;4.结束语 #x1f37a;0.前言 言C之… 目录
0.前言
1.什么是队列
2. 队列的实现
2.1定义队列节点
2.2定义队列
2.3队尾入队列
2.4判断队列是否为空
2.5队头出队列
2.6 队列首元素
2.7队尾元素
2.8队列内的元素个数
2.9销毁队列
3.试运行
4.结束语 0.前言 言C之言聊C之识以C会友共向远方。各位博友的各位你们好啊这里是持续分享数据结构知识的小赵同学今天要分享的数据结构知识是队列在这一章小赵将会向大家展开聊聊队列。✊
1.什么是队列 队列只允许在一端进行插入数据操作在另一端进行删除数据操作的特殊线性表队列具有先进先出 队列进行插入操作的一端称为队尾 出队列进行删除操作的一端称为队头 队列图片
其实上面说了很多但其实队列很简单正如它的名字一样队列就是排队。
总结一下规律就是先进先出就跟我们排队一样谁排第一谁的请求就可以先被执行。 2. 队列的实现
那么队列该怎么实现呢其实也就前面两个方式一个数组一个链表这里小赵并不推荐用数组因为如果我们用数组的话一直出头元素会让我们很难确定这个时候我们的对头在哪里。所以这里小赵更推荐使用链表因为链表可以使用我们的next的指针去找到下一个头。 2.1定义队列节点 typedef int QDataType;
//创建一个节点
typedef struct QNode
{QDataType data;struct QNode* next;
}QNode;
//队列
typedef struct Queue
{QNode* front;//队头QNode* rear;//队尾int capacity;//队列中的元素
}Queue; 2.2定义队列 //定义队列
void Queueinit(Queue*Qhead)
{Qhead-frontNULLQhead-rear Qhead-front;Qhead-capacity 0;
} 2.3队尾入队列 //队尾入队列
void QueuePush(Queue* q, QDataType data)
{QNode*newnode (QNode*)malloc(sizeof(QNode));//创建一个新节点newnode-next NULL;newnode-data data;if (q-front NULL)//如果队列里面没有元素{q-front newnode;q-front-next NULL;q-rear q-front;//队尾和队首在一个位置}else{q-rear-next newnode;q-rear newnode;//移动duiwei}q-capacity;//数量1
} 2.4判断队列是否为空 int QueueEmpty(Queue* q)
{return q-capacity 0;//如果为空返回非零不为空返回零
} 2.5队头出队列 void QueuePop(Queue* q)
{if (QueueEmpty(q)) return;//如果为空就返回QNode* node q-front;//保留头节点if (q-front-next NULL)//如果只有一个数{q-front NULL;q-rear NULL;}else{q-front q-front-next;//移动队首}free(node);//释放原队首node NULL;q-capacity--;
} 2.6 队列首元素 QDataType QueueFront(Queue* q)
{if (QueueEmpty(q)) return;//如果为空就返回return q-front-data;
} 2.7队尾元素 QDataType QueueBack(Queue* q)
{if (QueueEmpty(q))return;return q-rear-data;
} 2.8队列内的元素个数 int QueueSize(Queue* q)
{return q-capacity;
} 2.9销毁队列 void QueueDestroy(Queue* q)
{while (q-front)//遍历队列{QNode* node q-front;q-front q-front-next;free(node);node NULL;}q-rear NULL;free(q);//要出去后手动制空
} 3.试运行 4.结束语
好了小赵今天的分享就到这里了如果大家有什么不明白的地方可以在小赵的下方留言哦同时如果小赵的博客中有什么地方不对也希望得到大家的指点谢谢各位家人们的支持。你们的支持是小赵创作的动力加油。
如果觉得文章对你有帮助的话还请点赞关注收藏支持小赵如有不足还请指点小赵及时改正感谢大家支持