当前位置: 首页 > wzjs >正文

浙江金华网站建设河北seo技术

浙江金华网站建设,河北seo技术,有出国做飞机求同行的网站,瑞安市住房和城乡建设局网站队列是一种常见的数据结构,它是一种先进先出(First-In-First-Out, FIFO)的线性表。在队列中,数据元素按照插入的顺序排列,最先插入的元素在队列的前面,最后插入的元素在队列的后面。类比生活中排队购物的情…

队列是一种常见的数据结构,它是一种先进先出(First-In-First-Out, FIFO)的线性表。在队列中,数据元素按照插入的顺序排列,最先插入的元素在队列的前面,最后插入的元素在队列的后面。类比生活中排队购物的情景,先到先得的原则就是队列的特点。

队列具有以下基本概念和特点:

  1. 入队(enqueue):向队列的末尾插入(或加入)一个新元素。
  2. 出队(dequeue):从队列的头部移除(或取出)一个元素。
  3. 队头(front):队列的头部,即队列中的第一个元素。
  4. 队尾(rear):队列的尾部,即队列中的最后一个元素。
  5. 空队列(empty queue):队列中不包含任何元素。
  6. 满队列(full queue):队列已满,无法再插入新元素。
  7. 队列的大小(queue size):队列中包含的元素个数。

队列常用于模拟各种实际场景,例如计算机系统中的任务调度、打印队列、操作系统中的进程调度等。在算法和数据结构中,队列也是一种重要的基础数据结构,常用于解决各种问题,如广度优先搜索、树和图的遍历等。
在这里插入图片描述
队列的项目结构目录

在这里插入图片描述
头文件QueueStorage.h
在这里插入图片描述头文件QueueStorage.h代码

#ifndef SEQQUEUE_H
#define SEQQUEUE_H
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 1024// 顺序存储类似于数组定义一个结构体即可
typedef struct SEQQUEUE {// 无类型指针,可以接收如何数据类型的数据void* data[MAX_SIZE];// 数组的大小int size;}SeqQueue;
// 初始化结构体
SeqQueue* Init_SeqQueue();
// 入队列
void Push_SeqQueue(SeqQueue* queue, void* data);
// 返回对头元素
void* Front_SeqQueue(SeqQueue* queue);
// 出队列
void* Pop_SeqQueue(SeqQueue* queue);
// 返回队尾的元素
void* Back_SeqQueue(SeqQueue* queue);
// 返回大小
int Size_SeqQueue(SeqQueue* queue);
//清空队列
void* Clear_SeqQueue(SeqQueue* queue);
// 销毁队列
void* FreeSpace_SeqQueue(SeqQueue* queue);#endif

cpp文件截图

在这里插入图片描述cpp文件代码

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <iostream>
#include <string.h>
#include "QueueStorage.h"
// 初始化结构体
SeqQueue* Init_SeqQueue() {SeqQueue* queue = (SeqQueue*)malloc(sizeof(SeqQueue));// 使用for循环对队列进行初始化for (int i = 0; i < MAX_SIZE; i++) {// 将队列初始化为NULLqueue->data[i] = NULL;}queue->size = 0;return queue;
};
// 入队列
void Push_SeqQueue(SeqQueue* queue, void* data) {// 确定数组的哪一个方向是对头:将数组的左边作为对头if (queue == NULL) {return;}if (data == NULL) {return;}// 将元素插入数组中,元素的移动if (queue->size == MAX_SIZE) {return;}queue->data[queue->size] = data;queue->size++;
};
// 返回对头元素
void* Front_SeqQueue(SeqQueue* queue) {if (queue == NULL) {return NULL;}if (queue->size == 0) {return NULL;}return queue->data[0];
};
// 出队列
void* Pop_SeqQueue(SeqQueue* queue) {// 移动元素if (queue == NULL) {return NULL;}if (queue->size == 0) {return NULL;}for (int i = 0; i < queue->size - 1; i++) {queue->data[i] = queue->data[i + 1];}queue->size--;
};
// 返回队尾的元素
void* Back_SeqQueue(SeqQueue* queue) {if (queue == NULL) {return NULL;}if (queue->size == 0) {return NULL;}return queue->data[queue->size-1];
};
// 返回大小
int Size_SeqQueue(SeqQueue* queue) {if (queue == NULL) {return -1 ;}return queue->size;
};
//清空队列
void* Clear_SeqQueue(SeqQueue* queue) {if (queue == NULL) {return NULL;}queue->size = 0;
};
// 销毁队列
void* FreeSpace_SeqQueue(SeqQueue* queue) {if (queue == NULL) {return NULL;}free(queue);
};

主文件截图main.cpp
在这里插入图片描述主文件代码mian.cpp

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <iostream>
#include <string.h>
#include "QueueStorage.h"typedef struct PERSON {char name[64];int age;}Person;int main()
{SeqQueue* queue = Init_SeqQueue();// 创建数据Person p1 = { "aaa",10 };Person p2 = { "bbb",20 };Person p3 = { "ccc",30 };Person p4 = { "ddd",40 };Person p5 = { "eee",50 };//数据入队列调用push函数Push_SeqQueue(queue, &p1);Push_SeqQueue(queue, &p2);Push_SeqQueue(queue, &p3);Push_SeqQueue(queue, &p4);Push_SeqQueue(queue, &p5);// 输出队尾元素Person* backPerson = (Person*)Back_SeqQueue(queue);printf("name:%s age:%d", backPerson->name, backPerson->age);//输出while (Size_SeqQueue(queue) > 0) {// 取出对头元素Person* p = (Person*)Front_SeqQueue(queue);// 输出printf("name = %s age = %d \n",p->name,p->age);// 从对头弹出元素Pop_SeqQueue(queue);}// 销毁队列FreeSpace_SeqQueue(queue);system("pause");return 0;
}

项目运行结果展示
在这里插入图片描述

http://www.dtcms.com/wzjs/145485.html

相关文章:

  • iis提示网站建设中上海疫情最新情况
  • 福州网站建设推广semir是什么品牌
  • 有什么做动画的网站上海seo优化公司kinglink
  • 武汉网站公司沧州网站推广优化
  • java网站开发文档撰写手机端网站排名
  • soho做网站要写品牌吗网站seo分析
  • 宁夏城乡住房建设厅网站沈阳网络关键词排名
  • 无锡专业网站建设公司在线seo超级外链工具
  • java网站开发模式有哪些成都seo培训班
  • 河南省网站建设惠州网络营销公司
  • 福建网站开发公司电话购买网站域名
  • 本科网站开发毕业设计推广app拿返佣的平台
  • 快站心动小程序官网株洲发布最新通告
  • 建设糖果网站的好处有哪些网络整合营销4i原则
  • 做网站还需要续费如何进行网站的推广
  • 兰州网站推广排名上海网站推广服务公司
  • 局域网如何做视频网站建设泰安百度推广代理
  • 青田建设局网站什么是软文营销?
  • 广州天河区有什么好玩的网站seo网络优化
  • 公司建设网络优化是做什么的
  • 优秀的网站建设网站排名优化软件有哪些
  • 服装网站建设项目实施报告产品软文模板
  • 微信怎么做捐钱的网站微商如何引流与推广
  • 外链提高网站权重营销方案网站
  • 淘宝网网页版登录电脑版官网金华seo扣费
  • wordpress 媒体库 不显示性价比高seo排名
  • 建设路第3小学网站电话文明seo技术教程网
  • php网站建设制作方案长沙网站快速排名提升
  • 鄂州免费设计网站建设百度搜索风云榜小说总榜
  • 甘肃网站域名申请公司关键词seo服务