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

建设网站费用吗/专业做网站设计

建设网站费用吗,专业做网站设计,wordpress搜狗收录,WordPress阿柳云链队列的各种基本运算 码文不易,如果帮助到您,希望您可以帮我刷一下点击量,与您无害,与我有益谢谢 支持原创 。 欢迎大家阅读我的博客,如果有错误请指正,有问题请提问,我会尽我全力改正错误回答…

链队列的各种基本运算


码文不易,如果帮助到您,希望您可以帮我刷一下点击量,与您无害,与我有益谢谢 支持原创

  欢迎大家阅读我的博客,如果有错误请指正,有问题请提问,我会尽我全力改正错误回答问题。在次谢谢大家。下面开始正式内容
  

  队列,又称为伫列(queue),是先进先出(FIFO, First-In-First-Out)的线性表。在具体应用中通常用链表或者数组来实现。队列只允许在后端(称为rear)进行插入操作,在前端(称为front)进行删除操作。队列的操作方式和堆栈类似,唯一的区别在于队列只允许新数据在后端进行添加。维基百科-队列


  单链队列使用链表作为基本数据结果,所以不存在伪溢出的问题,队列长度也没有限制。但插入和读取的时间代价较高。维基百科-单链队列

实验环境


  • 语言c/c++
  • 编译器devc++5.11/5.40


实验内容与要求


  1. 初始化链队列;
  2. 判断链队列是否为空;
  3. 依次进队元素a,b,c;
  4. 出队一个元素,并输出该元素;
  5. 输出链队列的长度;
  6. 依次进队元素d,e,f;
  7. 输出链队列的长度;
  8. 输出出队序列;
  9. 释放队列。


目录


  • 链队列的各种基本运算
    • 实验环境
    • 实验内容与要求
  • 目录
  • 实验解析
    • 结构说明
    • 定义说明
    • 函数说明
      • 链队列函数
        • 初始化
        • 判空
        • 获取长度
        • 入队
        • 出队
        • 释放
      • 主函数
    • 结果展示
  • 附录
    • 相关资料
    • 源代码

码文不易,如果帮助到您,希望您可以帮我刷一下点击量,与您无害,与我有益谢谢 支持原创


实验解析

结构说明


  队列的链式存储结构简称为链队列。它是限制仅在表头删除和表尾插入的单链表。

typedef struct QNode{  //链队列结点的类型定义QElemType  data;     struct QNode *next; 
}QNode,*QueuePtr;
typedef struct {       //链队列的表头结点的的类型定义QueuePtr front;   //队头指针,指向链表的头结点QueuePtr rear;    //队尾指针,指向队尾结点
}LinkQueue;


定义说明



#define  OK  1
#define  ERROR  0
#define  TRUE  1
#define  FALSE  0typedef  int  Status; 
typedef  char    QElemType; 
#define  QUEUE_INIT_SIZE  100    //  存储空间初始分配量
#define  QUEUE_INCREAMENT  2  //  分配增量

  定义常用常量,类型别称


函数说明



链队列函数

初始化

Status InitQueue(LinkQueue &LinkQueue){LinkQueue.front = (QueuePtr)malloc(sizeof(QElemType));if (!LinkQueue.front )   exit(0);LinkQueue.size =  1; LinkQueue.front->next = NULL; LinkQueue.rear =LinkQueue.front; 
    return OK; 
}

   给链队列分配空间 ,成功返回1,失败则结束程序。 使用链队列一定要先初始化再使用


判空

Status EmptyQueue (LinkQueue &LinkQueue) { if(LinkQueue.front == LinkQueue.rear)  return TRUE;else return FALSE;
}//

  判断链队列是否为空,空返回1,不空为0


获取长度

Status GetLength(LinkQueue &LinkQueue){return  LinkQueue.size;
}

  返回循环队列长度


入队

Status PushQueue(LinkQueue &LinkQueue , QElemType e ){LinkQueue.rear->data = e; LinkQueue.rear->next = (QueuePtr)malloc(sizeof(QElemType));LinkQueue.rear = LinkQueue.rear->next ; LinkQueue.rear->next =NULL; LinkQueue.size++; return OK;}

  将元素e存入链队列,成功返回1,失败返回0


出队

Status OutQueue(LinkQueue &LinkQueue , QElemType &e ){if(LinkQueue.front == LinkQueue.rear) 
        return ERROR;else{e= LinkQueue.front->data;LinkQueue.front =  LinkQueue.front->next; LinkQueue.size--; 
        return OK;} 
    return ERROR; 
}

   将队尾元素出队存入e,成功返回1,失败返回0


释放

Status DestroyQueue ( LinkQueue &LinkQueue) { if (!LinkQueue.front) 
        return ERROR; LinkQueue.rear == NULL; free (LinkQueue.front);    LinkQueue.size= 0;
    return OK;
}

   释放传入的单链表,成功返回1,失败返回0



主函数


int main(){LinkQueue que;QElemType e;printf("1)初始化循环加头队列;\n");InitQueue(que); printf("2)判断循环加头队列是否为空;");printf(EmptyQueue(que)?"ture\n":"flase\n");printf("3)依次进队元素a,b,c;\n");PushQueue(que,'a');PushQueue(que,'b'); PushQueue(que,'c');printf("4)出队一个元素,并输出该元素;");OutQueue(que,e); printf("%c\n",e);printf("5)输出循环队列的长度;");printf("%d\n",GetLength(que));printf("6)依次进队元素d,e,f;\n");PushQueue(que,'d');PushQueue(que,'e'); PushQueue(que,'f');printf("7)输出循环队列的长度;");printf("%d\n",GetLength(que));printf("8)输出出队序列;");while(OutQueue(que,e)==1)printf("%c",e);printf("\n"); printf("9)释放队列。");  DestroyQueue(que);
} 


结果展示


链队列的各种基本运算结果截图


附录

相关资料

  1. 维基百科-队列
  2. 百度百科-循环队列


源代码

码文不易,如果帮助到您,希望您可以帮我刷一下点击量,与您无害,与我有益谢谢 支持原创


#include "stdio.h"
#include<malloc.h>  //malloc()
#include<process.h>  //exit()#define  OK  1
#define  ERROR  0
#define  TRUE  1
#define  FALSE  0typedef  int  Status;
typedef  char    QElemType;typedef struct QNode{  //链队列结点的类型定义QElemType  data;     struct QNode *next; 
}QNode,*QueuePtr;
typedef struct {       //链队列的表头结点的的类型定义QueuePtr front;   //队头指针,指向链表的头结点QueuePtr rear;    //队尾指针,指向队尾结点int size; 
}LinkQueue;Status InitQueue(LinkQueue &LinkQueue){LinkQueue.front = (QueuePtr)malloc(sizeof(QElemType));if (!LinkQueue.front )   exit(0);LinkQueue.size =  1; LinkQueue.front->next = NULL; LinkQueue.rear =LinkQueue.front; return OK; 
}Status EmptyQueue (LinkQueue &LinkQueue) { if(LinkQueue.front == LinkQueue.rear)  return TRUE;else return FALSE;
}//Status PushQueue(LinkQueue &LinkQueue , QElemType e ){LinkQueue.rear->data = e; LinkQueue.rear->next = (QueuePtr)malloc(sizeof(QElemType));LinkQueue.rear = LinkQueue.rear->next ; LinkQueue.rear->next =NULL; LinkQueue.size++; return OK;}Status OutQueue(LinkQueue &LinkQueue , QElemType &e ){if(LinkQueue.front == LinkQueue.rear) return ERROR;else{e= LinkQueue.front->data;LinkQueue.front =  LinkQueue.front->next; LinkQueue.size--; return OK;} return ERROR; 
}Status GetLength(LinkQueue &LinkQueue){return  LinkQueue.size;
}Status DestroyQueue ( LinkQueue &LinkQueue) { if (!LinkQueue.front) return ERROR; LinkQueue.rear == NULL; free (LinkQueue.front);    LinkQueue.size= 0;return OK;
}int main(){LinkQueue que;QElemType e;printf("1)初始化循环加头队列;\n");InitQueue(que); printf("2)判断循环加头队列是否为空;");printf(EmptyQueue(que)?"ture\n":"flase\n");printf("3)依次进队元素a,b,c;\n");PushQueue(que,'a');PushQueue(que,'b'); PushQueue(que,'c');printf("4)出队一个元素,并输出该元素;");OutQueue(que,e); printf("%c\n",e);printf("5)输出循环队列的长度;");printf("%d\n",GetLength(que));printf("6)依次进队元素d,e,f;\n");PushQueue(que,'d');PushQueue(que,'e'); PushQueue(que,'f');printf("7)输出循环队列的长度;");printf("%d\n",GetLength(que));printf("8)输出出队序列;");while(OutQueue(que,e)==1)printf("%c",e);printf("\n"); printf("9)释放队列。");  DestroyQueue(que);
} 

码文不易,如果帮助到您,希望您可以帮我刷一下点击量,与您无害,与我有益谢谢 支持原创

http://www.jmfq.cn/news/5207095.html

相关文章:

  • 在网上做效果图网站/东莞seo建站投放
  • 网站安全建设 应用开发/郑州网站优化培训
  • 高端网站建设公司价格/兰州网络推广优化服务
  • 网站开发流程详细介绍/网络推广用什么软件好
  • 全国政府网站建设的规范/关键词排名关键词快速排名
  • 鄂州网站建设报价/旺道seo系统
  • 网页设计与制作第二版答案/整站seo定制
  • 网站建设素材收集通知/网络推广培训班哪家好
  • 河南第二建设集团有限公司网站/上海今日头条新闻
  • 商务类网站/抖音搜索seo
  • 做微信充值网站/山东16市最新疫情
  • 文章类网站选什么内容/南宁优化网站收费
  • 做网站设计都需要什么软件/游戏推广怎么做挣钱
  • 在深圳做的网站好做吗/郑州网站关键词优化公司
  • 山东德州如何网站建设教程/网游推广员
  • 复制别人的代码做网站/推广app接单网
  • 宁波论坛建站模板/seo技术培训中心
  • 如何做一家专门卖零食的网站/云盘网页版登录
  • 浙江网站建设方案/鞍山做网站的公司
  • 互联网推广策略/安徽网络推广和优化
  • 关于php动态网站开发的书籍/晋中网站seo
  • 大学选修课网站建设/苏州优化网站公司
  • 青浦营销型网站建设/seo网站推广seo
  • 按揭车在哪个网站可以做贷款/网络代运营推广
  • 邢台做网站邮箱/东莞网络营销平台
  • 一级a做片性视频.网站在线观看/西安seo
  • 网站设计优秀作品/快速网站推广公司
  • 西安专业做网站/做网站的费用
  • 电子商务网站建设新闻/建站系统
  • 哈尔滨网站建设排行/西安自助建站