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

房产资讯的网站怎么做湖南株洲网

房产资讯的网站怎么做,湖南株洲网,微信公众号运营,网页源代码和框架源代码在C语言中#xff0c;.和-运算符用于访问结构体的成员变量。它们之间的区别在于#xff1a;.运算符用于访问结构体变量的成员。-运算符用于访问结构体指针变量的成员 1a#xff08;rear指向队尾元素后一位#xff0c;判空判满时牺牲一个存储单元#xff09; 首先… 在C语言中.和-运算符用于访问结构体的成员变量。它们之间的区别在于.运算符用于访问结构体变量的成员。-运算符用于访问结构体指针变量的成员 1arear指向队尾元素后一位判空判满时牺牲一个存储单元 首先我们考虑1a的情况下在牺牲一个存储单元rear指向队尾元素后一个位置该怎么实现队列的基本操作当rear指向队尾元素的后一位时队列的实现需要牺牲一个存储单元来区分队列是空还是满 #include stdio.h #include stdlib.h #define MaxSize 10 // 定义队列中元素的最大个数typedef struct {int data[MaxSize]; // 用静态数组存放队列元素int front, rear; // 队头指针和队尾指针 } SqQueue;// 初始化队列 void InitQueue(SqQueue* Q) {Q-front Q-rear 0; // 初始时队头、队尾指针指向0 }// 判断队列是否为空 bool QueueEmpty(SqQueue* Q) {return Q-front Q-rear; // 判空条件队头指针等于队尾指针 }// 判断队列是否已满 bool QueueFull(SqQueue* Q) {return (Q-rear 1) % MaxSize Q-front; // 判满条件队尾指针后移一位后等于队头指针 }// 入队 bool EnQueue(SqQueue* Q, int x) {if (QueueFull(Q)) { // 判断队满return false; // 队满报错} else {Q-data[Q-rear] x; // 新元素插入队尾Q-rear (Q-rear 1) % MaxSize; // 队尾指针后移return true;} }// 出队删除一个队头元素并用x返回 bool DeQueue(SqQueue* Q, int* x) {if (QueueEmpty(Q)) { // 判断队空return false; // 队空则报错} else {Q-front (Q-front 1) % MaxSize; // 队头指针后移*x Q-data[Q-front]; // 获取队头元素return true;} }// 获得队头元素的值用x返回 bool GetHead(SqQueue* Q, int* x) {if (QueueEmpty(Q)) { // 判断队空return false; // 队空则报错} else {*x Q-data[Q-front]; // 获取队头元素return true;} }在这个实现中队列满的条件是队尾指针后移一位后等于队头指针。这意味着队列的实际容量是MaxSize - 1因为一个存储单元被用来区分队列是空还是满。  2a(rear指向队尾元素,判空判满时牺牲一个存储单元 当rear指向队尾元素时队列的实现不需要牺牲额外的存储单元来区分队列是空还是满。在这种情况下队列的实际容量就是MaxSize因为所有的存储单元都可以用来存储元素。 #include stdio.h #include stdlib.h #define MaxSize 10 // 定义队列中元素的最大个数typedef struct {int data[MaxSize]; // 用静态数组存放队列元素int front, rear; // 队头指针和队尾指针 } SqQueue;// 初始化队列 void InitQueue(SqQueue* Q) {// 初始时队头指针指向0// 队尾指针指向数组尾元素Q-front 0;Q-rear MaxSize - 1; }// 判断队列是否为空 bool QueueEmpty(SqQueue* Q) {if (Q-rear Q-front) { // 判空条件return true;} else {return false;} }// 判断队列是否已满 bool QueueFull(SqQueue* Q) {if ((Q-rear 1) % MaxSize Q-front) { // 判满条件return true;} else {return false;} }// 入队 bool EnQueue(SqQueue* Q, int x) {if (QueueFull(Q)) { // 判断队满return false; // 队满报错} else {Q-rear (Q-rear 1) % MaxSize; // 队尾指针后移Q-data[Q-rear] x; // 新元素插入队尾return true;} }// 出队删除一个队头元素并用x返回 bool DeQueue(SqQueue* Q, int* x) {if (QueueEmpty(Q)) { // 判断队空return false; // 队空则报错} else {Q-front (Q-front 1) % MaxSize; // 队头指针后移*x Q-data[Q-front]; // 获取队头元素return true;} }// 获得队头元素的值用x返回 bool GetHead(SqQueue* Q, int* x) {if (QueueEmpty(Q)) { // 判断队空return false; // 队空则报错} else {*x Q-data[(Q-front 1) % MaxSize]; // 获取队头元素return true;} }在这个实现中队列满的条件是队尾指针后移一位后等于队头指针。这意味着队列的实际容量是MaxSize因为所有的存储单元都可以用来存储元素 与1a的相比主要改变了入队和初始化的操作入队的时候rear需要先往后一位再接受新的数据。 1brear指向队尾元素后一位增加size变量记录长度 #include stdio.h #include stdlib.h #define MaxSize 10 // 定义队列中元素的最大个数typedef struct {int data[MaxSize]; // 用静态数组存放队列元素int front, rear; // 队头指针和队尾指针int size;//增加一个size记录队列的长度 } SqQueue;// 初始化队列 void InitQueue(SqQueue* Q) {// 初始时队头、队尾指针指向0Q-rear Q-front 0;Q-size 0; }// 判断队列是否为空 bool QueueEmpty(SqQueue Q) {if (Q-size 0) { // 判空条件return true;}else {return false;}bool QueueFull(SqQueue Q) {if (Q-sizeMaxSize) { // 判满条件return true;}else {return false;} }// 入队 bool EnQueue(SqQueue* Q, int x) {if (QueueFull(*Q)) { // 判断队满return false; // 队满报错}else {Q-data[Q-rear] x; // 新元素插入队尾Q-rear (Q-rear 1) % MaxSize; // 队尾指针加1取模队尾指针后移Q-size Q-size 1; // 队列长度加1return true;} }// 出队删除一个队头元素并用x返回 bool DeQueue(SqQueue* Q, int* x) {if (QueueEmpty(*Q)) { // 判断队空return false; // 队空则报错}else {*x Q-data[Q-front];Q-front (Q-front 1) % MaxSize; // 队头指针后移Q-size Q-size - 1; // 队列长度减1return true;} } // 获得队头元素的值用x返回 bool GetHead(SqQueue Q, int* x) {if (QueueEmpty(*Q)) { // 判断队空return false; // 队空则报错}else {*x Q.data[Q.front];return true;} }2b(rear指向队尾元素增加size变量记录长度) #include stdio.h #include stdlib.h #define MaxSize 10 // 定义队列中元素的最大个数typedef struct {int data[MaxSize]; // 用静态数组存放队列元素int front, rear; // 队头指针和队尾指针int size;//增加一个size记录队列的长度 } SqQueue;// 初始化队列 void InitQueue(SqQueue* Q) {// 初始时队头、队尾指针指向Q-front 0;Q-rear MaxSize - 1;Q-size 0; }// 判断队列是否为空 bool QueueEmpty(SqQueue Q) {if (Q-size 0) { // 判空条件return true;}else {return false;}bool QueueFull(SqQueue Q) {if (Q-sizeMaxSize) { // 判满条件return true;}else {return false;} }// 入队 bool EnQueue(SqQueue* Q, int x) {if (QueueFull(*Q)) { // 判断队满return false; // 队满报错}else {Q-rear (Q-rear 1) % MaxSize; // 队尾指针加1取模队尾指针后移Q-data[Q-rear] x; // 新元素插入队尾Q-size Q-size 1; // 队列长度加1return true;} }// 出队删除一个队头元素并用x返回 bool DeQueue(SqQueue* Q, int* x) {if (QueueEmpty(*Q)) { // 判断队空return false; // 队空则报错}else {*x Q-data[Q-front];Q-front (Q-front 1) % MaxSize; // 队头指针后移Q-size Q-size - 1; // 队列长度减1return true;} } // 获得队头元素的值用x返回 bool GetHead(SqQueue Q, int* x) {if (QueueEmpty(*Q)) { // 判断队空return false; // 队空则报错}else {*x Q.data[Q.front];return true;} }3arear指向队尾元素后一位判空判满时添加一个tag标签标记 #include stdio.h #include stdlib.h #define MaxSize 10 // 定义队列中元素的最大个数typedef struct {int data[MaxSize]; // 用静态数组存放队列元素int front, rear; // 队头指针和队尾指针int tag;//tag标签用于标记,0出队1入队 } SqQueue;// 初始化队列 void InitQueue(SqQueue* Q) {Q-front Q-rear 0; // 初始时队头、队尾指针指向0Q-tag 0; }// 判断队列是否为空 bool QueueEmpty(SqQueue* Q) {return (Q-front Q-rearQ-tag0); // 判空条件队头指针等于队尾指针 }// 判断队列是否已满 bool QueueFull(SqQueue* Q) {return ((Q-rear 1) % MaxSize Q-frontQ-tag1); // 判满条件队尾指针后移一位后等于队头指针 }// 入队 bool EnQueue(SqQueue* Q, int x) {if (QueueFull(Q)) { // 判断队满return false; // 队满报错}else {Q-data[Q-rear] x; // 新元素插入队尾Q-rear (Q-rear 1) % MaxSize; // 队尾指针后移Q-tag 1;//入队后tag变为1;return true;} }// 出队删除一个队头元素并用x返回 bool DeQueue(SqQueue* Q, int* x) {if (QueueEmpty(Q)) { // 判断队空return false; // 队空则报错}else {Q-front (Q-front 1) % MaxSize; // 队头指针后移*x Q-data[Q-front]; // 获取队头元素Q-tag 1;//出队后tag变为1;return true;} }// 获得队头元素的值用x返回 bool GetHead(SqQueue* Q, int* x) {if (QueueEmpty(Q)) { // 判断队空return false; // 队空则报错}else {*x Q-data[Q-front]; // 获取队头元素return true;} }3brear指向队尾元素判空判满时添加一个tag标签标记 #include stdio.h #include stdlib.h #define MaxSize 10 // 定义队列中元素的最大个数typedef struct {int data[MaxSize]; // 用静态数组存放队列元素int front, rear; // 队头指针和队尾指针int tag;//tag标签用于标记,0出队1入队 } SqQueue;// 初始化队列 void InitQueue(SqQueue* Q) {Q-front 0//初始时队头指针指向队头元素Q-rear MaxSize-1;//初始时队尾指针指向队尾元素Q-tag 0; }// 判断队列是否为空 bool QueueEmpty(SqQueue* Q) {return (Q-front Q-rear Q-tag 0); // 判空条件队头指针等于队尾指针 }// 判断队列是否已满 bool QueueFull(SqQueue* Q) {return ((Q-rear 1) % MaxSize Q-front Q-tag 1); // 判满条件队尾指针后移一位后等于队头指针 }// 入队 bool EnQueue(SqQueue* Q, int x) {if (QueueFull(Q)) { // 判断队满return false; // 队满报错}else {Q-rear (Q-rear 1) % MaxSize; // 队尾指针后移Q-data[Q-rear] x; // 新元素插入队尾Q-tag 1;//入队后tag变为1;return true;} }// 出队删除一个队头元素并用x返回 bool DeQueue(SqQueue* Q, int* x) {if (QueueEmpty(Q)) { // 判断队空return false; // 队空则报错}else {Q-front (Q-front 1) % MaxSize; // 队头指针后移*x Q-data[Q-front]; // 获取队头元素Q-tag 1;//出队后tag变为1;return true;} }// 获得队头元素的值用x返回 bool GetHead(SqQueue* Q, int* x) {if (QueueEmpty(Q)) { // 判断队空return false; // 队空则报错}else {*x Q-data[Q-front]; // 获取队头元素return true;} }
http://www.w-s-a.com/news/488849/

相关文章:

  • 网站管理运营建设网贷网站
  • 深圳市龙岗区住房和建设局网站怎么给网站做404界面
  • 设计类网站网站系统 建设和软件岗位职责
  • 网站后台打开慢站长之家网址ip查询
  • 图书馆网站设计方案家具设计作品
  • 马鞍山做网站公司排名徐州网站外包
  • 十堰微网站建设电话宣传型网站建设
  • 电脑制作网站教程网络公司除了建网站
  • 360制作网站搜网站网
  • 门户网站标题居中加大网站底部的制作
  • 网站建设项目费用报价ai软件下载
  • 面料 做网站重庆网站seo费用
  • 中国沈阳网站在哪里下载中国移动营销策略分析
  • 建设银行 钓鱼网站360免费建站教程
  • wordpress全站cdn网站运营年度推广方案
  • 成都网站开发培训机构网站开发 实习报告
  • 廊坊网站建设佛山厂商wordpress神主题
  • 成县建设局网站中国建筑有几个工程局
  • 网站打不开被拦截怎么办单页面网站制作
  • 关于协会网站建设的建议设计公司名字参考
  • 怎样申请做p2p融资网站页面设计时最好使用一种颜色
  • 一般做网站上传的图片大小网站软件设计
  • 用来网站备案注册什么公司好wordpress怎么搜索中文主题
  • 网站开发 打标签深圳软件公司排名
  • 邯郸的网站建设电子网站怎么做的
  • 中国企业信用网四川游戏seo整站优化
  • 下载站推广wordpress扩展字段
  • 网站建设这个工作怎么样免费电子版个人简历模板
  • 移动网站设计与制作网站开发接私活
  • 视频制作素材网站wordpress mysql 被删