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

卓手机建网站九江 网站建设

卓手机建网站,九江 网站建设,163企业邮箱官网,动漫制作专业专升本大学目录 前言 队列 定义 队列的定义和操作方法 队列节点的定义 操作方式 顺序表实现队列#xff08;C/C代码#xff09; 链表实现队列#xff08;C/C代码#xff09; Python语言实现队列 前言 排队是我们日常生活中必不可少的一件事#xff0c;去饭堂打饭的时候排队C/C代码 链表实现队列C/C代码 Python语言实现队列 前言 排队是我们日常生活中必不可少的一件事去饭堂打饭的时候排队上公交车的时候排队等等那排队的原则就是先到先得排在前面的人先打饭同样的在数据结构当中有一种数据结构类型叫队列其性质跟排队是一模一样的下面我们就一起来看看吧 队列 定义  队列是一种特殊的线性表特殊之处在于它只允许在表的前端front进行删除操作而在表的后端rear进行插入操作和栈一样队列是一种操作受限制的线性表。进行插入操作的端称为队尾进行删除操作的端称为队头。队列中没有元素时称为空队列。         队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队从队列中删除一个队列元素称为出队。因为队列只允许在一端插入在另一端删除所以只有最早进入队列的元素才能最先从队列中删除故队列又称为先进先出FIFO—first in first out线性表 队列可以通过顺序表实现和链表实现下面就一起来看看吧   队列的定义和操作方法 队列节点的定义 顺序表 //队列定义 typedef struct queue {ElemType data[Maxsize];int front;//指向队头int rear;//指向队尾 }Queue; 链式 //定义队列 typedef struct queue {int count; //计数Node* front;//指向队头指针Node* rear;//指向队尾指针 }Queue; 操作方式 void Queue_init(Queue* queue);//初始化bool isEmpty(Queue* queue);//判空bool isFull(Queue* queue);//判满void enQueue(Queue* queue, ElemType data);//入队Node* deQueue(Queue* queue);//出队int get_length(Queue* queue);//获取长度void travel_Queue(Queue* queue);//遍历队头到队尾void clear_Queue(Queue* queue);//清空销毁 顺序表实现队列C/C代码 #include stdio.h #includestring.h #define Maxsize 20 //最大容量 //顺序表队列//节点数据 typedef struct data {int num;char name[10]; }ElemType; //队列定义 typedef struct queue {ElemType data[Maxsize];int front;//指向队头int rear;//指向队尾 }Queue;//初始化 void queue_init(Queue* queue) {queue-front 0;queue-rear 0; }//判断是否满队列 bool isFull(Queue* queue) {if (queue-rear Maxsize) {printf(The queue is full\n);return true;}return false; }//判断是否空队列 bool isEmpty(Queue* queue) {if (queue-rear 0) {printf(The queue is etmpy\n);return true;}return false; }//入队操作 void enQueue(Queue* queue, ElemType data) {if (!isFull(queue)) {//赋值queue-data[queue-rear].num data.num;strcpy(queue-data[queue-rear].name, data.name);queue-rear; //队尾1往后移动一位}elseprintf(error\n); }//出队操作 ElemType deQueue(Queue* queue) {ElemType de_data { 0 };if (!isFull(queue)) {de_data queue-data[queue-front];queue-front; //队头1往后移动一位return de_data;}elseprintf(error\n); }//遍历队列从队头开始到队尾 void travel_Queue(Queue* queue) {for (int i queue-front; i queue-rear; i) {printf(%d %s\n, queue-data[i].num, queue-data[i].name);}printf(printf over!\n); }//获取队列长度 int get_Queuelength(Queue* queue) {return queue-rear-queue-front; }//清空队列 void clear_Queue(Queue* queue) {queue_init(queue);//直接恢复出厂设置 }int main(void) {Queue queue;queue_init(queue);ElemType data[4] { {15,fuck},{16,wdf},{17,wtmc},{18,cnmb} };for (int i 0; i 4;i) {enQueue(queue, data[i]);}deQueue(queue);travel_Queue(queue); }//16 wdf //17 wtmc //18 cnmb //printf over!链表实现队列C/C代码 #includestdio.h #includestring.h #include stdbool.h #includestdlib.h #includeassert.h #define Maxsize 20typedef struct datatype {int num;char name[10]; }ElemType; //定义节点 typedef struct node {ElemType data;struct node* next; }Node; //定义队列 typedef struct queue {int count; //计数Node* front;//指向队头指针Node* rear;//指向队尾指针 }Queue;void Queue_init(Queue* queue);//初始化 bool isEmpty(Queue* queue);//判空 bool isFull(Queue* queue);//判满 void enQueue(Queue* queue, ElemType data);//入队 Node* deQueue(Queue* queue);//出队 int get_length(Queue* queue);//获取长度 void travel_Queue(Queue* queue);//遍历 void clear_Queue(Queue* queue);//清空销毁int main() {Queue myqueue;Queue_init(myqueue);ElemType data[4] { {15,a},{16,wb},{17,htt},{18,jk} };for (int i 0; i 4; i) {enQueue(myqueue, data[i]);}deQueue(myqueue);travel_Queue(myqueue); } //16 wb //17 htt //18 jk //Printf over//初始化 void Queue_init(Queue* queue) {assert(queue);queue-front NULL;queue-rear NULL;queue-count0; }//创建节点 Node* create_node(ElemType data) {Node* new_node (Node*)malloc(sizeof(Node));if (new_node) {new_node-data data;new_node-next NULL;return new_node;}else{printf(ERRPR\n);} }//判断是否空队列 bool isEmpty(Queue* queue) {assert(queue);if (queue-count 0){printf(The queue is etmpy\n);return true;}return false; }//判断是否满队列 bool isFull(Queue* queue) {assert(queue);if (queue-count Maxsize) {printf(The queue is full\n);return true;}return false; }//入队 void enQueue(Queue* queue, ElemType data) {assert(queue);if (!isFull(queue)) {Node* new_node create_node(data);//如果队尾指向空的时候也就是队列为空时if (queue-rear NULL) {queue-front new_node;queue-rear new_node;queue-count;}//当队列不为空的时候else{queue-rear-next new_node;queue-rear new_node;queue-count;}}else{printf(error\n);} }//出队 Node* deQueue(Queue* queue) {assert(queue);if (!isEmpty(queue)) {Node* deNode queue-front;queue-front deNode-next;queue-count--;return deNode;}printf(error\n);return NULL; }//获取队列长度 int get_length(Queue* queue) {assert(queue);return queue-count; }//遍历队列 void travel_Queue(Queue* queue) {assert(queue);Node* cur queue-front;while (cur) {printf(%d %s\n, cur-data.num, cur-data.name);cur cur-next;}printf(Printf over\n); }//清空队列 void clear_Queue(Queue* queue) {assert(queue);Node* cur queue-front;while (cur) {//要把每一个节点的空间都释放避免内存泄漏Node* p cur-next; //获取到当前节点的下一个节点free(cur);cur p;}printf(Clear successfully!\n); } Python语言实现队列 链接Python数据结构-----队列_python队列_灰勒塔德的博客-CSDN博客 以上就是今天的全部内容了我们下一期再见 分享一张壁纸
http://www.w-s-a.com/news/81186/

相关文章:

  • 雅虎网站收录提交入口如何使用wordpress搭建网站
  • 微商城网站建设怎么样发稿是什么意思
  • dz建站与wordpress群晖做网站服务器速度快吗
  • 做手机网站的公司网站建设 app开发 图片
  • 网站开发技术背景介绍wordpress数据库重置密码
  • 开发建设网站的实施过程是一个logo设计品牌
  • 做360pc网站排名首页工程造价信息网官网首页
  • 产品销售网站模块如何设计大数据和网站开发
  • 现在帮别人做网站赚钱不济南做网站建设公司
  • 嘉兴网站建设哪家好最近三天的国际新闻大事
  • 安丘网站建设制作做网站口碑比较好的大公司
  • 成都专业做网站公司哪家好优化大师下载安装免费
  • 防蚊手环移动网站建设广东深圳有几个区
  • 网站建设找哪些平台宜兴网站开发
  • 免费网站应用软件wordpress添加动态图标
  • 中小企业网站建设客户需求调查问卷昆明网站建设一条龙
  • 网站内容的特点wordpress 移动端网页
  • 专门网站建设培训网站系统建设
  • 自己设计手机的网站wordpress主题加密教程
  • 北京网站建设公司飞沐卖水果网站建设的策划书
  • 北京免费自己制作网站短视频宣传片制作
  • 怎样进入谷歌网站电子商务网站建设软件选择
  • 建个普通网站多少钱设计师培训多少
  • 建设校园网站的意义视频链接提取下载
  • 天津电子商务网站wordpress安装图片
  • 青岛房产网站东莞网络营销外包公司
  • 网站建设中的页数网上工伤做实网站
  • 给公司做网站这个工作怎么样wordpress不支持中文标签
  • 湖南网站推广优化cc域名做门户网站
  • 网站开发大概多久怎么制做网站