网站建设的基本需求有哪些视频盗版网站怎么做
- 作者: 五速梦信息网
- 时间: 2026年04月20日 07:52
当前位置: 首页 > 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;} }
- 上一篇: 网站建设的基本情况邢台做网站价位
- 下一篇: 网站建设的基本要素电子商务大专出来都去干嘛了
相关文章
-
网站建设的基本情况邢台做网站价位
网站建设的基本情况邢台做网站价位
- 技术栈
- 2026年04月20日
-
网站建设的基本流程可分为厦门网站建设价格
网站建设的基本流程可分为厦门网站建设价格
- 技术栈
- 2026年04月20日
-
网站建设的基本规范有什么营销型网站建设哪家便宜
网站建设的基本规范有什么营销型网站建设哪家便宜
- 技术栈
- 2026年04月20日
-
网站建设的基本要素电子商务大专出来都去干嘛了
网站建设的基本要素电子商务大专出来都去干嘛了
- 技术栈
- 2026年04月20日
-
网站建设的几种结构html和php做网站哪个好
网站建设的几种结构html和php做网站哪个好
- 技术栈
- 2026年04月20日
-
网站建设的技术保证怎么写汕尾建设局网站首页
网站建设的技术保证怎么写汕尾建设局网站首页
- 技术栈
- 2026年04月20日
