假设以带头结点的循环单链表表示队列,并且只设一个指针指向队尾元素结点(不设头指针),试编写相应的入列和出列算法。

简介: 数据结构
#include<stdio.h>#include<stdlib.h>//定义结构体类型,初始化链表typedefintDatatype;
typedefstructduilienode{
Datatypedata;
structduilienode*next;
}DuilieNode;
typedefstructlastnode{
structduilienode*rear;
    }Lastnode;
//入队voidInput(Lastnode*Q,Datatypex)  
      {
DuilieNode*p=(DuilieNode*)malloc(sizeof(DuilieNode));  
p->data=x;p->next=Q->rear->next;      
Q->rear->next=p;
Q->rear=p;                  
       }
//出队DatatypeOutput(Lastnode*Q)  
    {
Datatypex;
DuilieNode*P;
if(Q->rear->next==Q->rear)
printf("队列为空,无法出队");
P=Q->rear->next->next;            
x=P->data;                        
if(P==Q->rear)                  
        {
Q->rear=Q->rear->next;Q->rear->next=P->next;
        }
elseQ->rear->next=P->next;                          
returnx;                          
     }
相关文章
|
1月前
|
算法
【优选算法专栏】专题十三:队列+宽搜(一)
【优选算法专栏】专题十三:队列+宽搜(一)
30 0
|
1月前
|
存储 算法 索引
【算法与数据结构】队列的实现详解
【算法与数据结构】队列的实现详解
159 0
|
3天前
|
存储 算法
数据结构与算法 栈与队列
数据结构与算法 栈与队列
10 0
数据结构与算法 栈与队列
|
23天前
|
存储 算法
代码随想录算法训练营第五十九天 | LeetCode 739. 每日温度、496. 下一个更大元素 I
代码随想录算法训练营第五十九天 | LeetCode 739. 每日温度、496. 下一个更大元素 I
22 1
|
23天前
|
算法
代码随想录算法训练营第五十七天 | LeetCode 739. 每日温度、496. 下一个更大元素 I
代码随想录算法训练营第五十七天 | LeetCode 739. 每日温度、496. 下一个更大元素 I
18 3
|
25天前
|
存储 算法
单链表——“数据结构与算法”
单链表——“数据结构与算法”
|
1月前
|
算法 测试技术 Serverless
【二分查找】【C++算法】378. 有序矩阵中第 K 小的元素
【二分查找】【C++算法】378. 有序矩阵中第 K 小的元素
|
1月前
|
算法 C语言
【算法与数据结构】 C语言实现单链表队列详解2
【算法与数据结构】 C语言实现单链表队列详解
|
1月前
|
存储 算法 C语言
【算法与数据结构】 C语言实现单链表队列详解1
【算法与数据结构】 C语言实现单链表队列详解
|
2天前
|
算法 数据安全/隐私保护 计算机视觉
基于二维CS-SCHT变换和LABS方法的水印嵌入和提取算法matlab仿真
该内容包括一个算法的运行展示和详细步骤,使用了MATLAB2022a。算法涉及水印嵌入和提取,利用LAB色彩空间可能用于隐藏水印。水印通过二维CS-SCHT变换、低频系数处理和特定解码策略来提取。代码段展示了水印置乱、图像处理(如噪声、旋转、剪切等攻击)以及水印的逆置乱和提取过程。最后,计算并保存了比特率,用于评估水印的稳健性。