算法训练2.1:Keep In Line

简介: 一、分析:两个功能(用到队列)(用if进行判断)1.in正常插入学生

bfe3f0adc14a322a91a2f87b9e86bdb.png

一、分析:两个功能(用到队列)(用if进行判断)

1.in正常插入学生

a.构建结构体;
b.初始化队列;
c.插入元素到队列;

2.输出学生,不过这一步要判断out(if判断),对应不同的分支走向;对于out的元素如果是头元素就输出,如果不是先输出头元素并保存,然后覆盖下一个头元素,这样插队的人就变相输出出去了,而被插队的人仍是第一个元素。

3.主函数:包括定义结构体队列,输入,if判断in和out,输出;

二、废话不多说,实现功能

1.正常插入:

a.构建结构体:
//定义结构体

typedef struct

{

string name;

}Student;

typedef struct

{

Student *stu;
int front;
int rear;

}Sql;

b.初始化队列:

//初始化队列

int InitQueue(Sql &Q)

{

Q.stu=new Student[MAX];
Q.front=Q.rear=0;
return 0;

}

c.插入元素到队列:

void InQueue(Sql &Q,string s)

{

if((Q.rear+1)%MAX==Q.front)
{
cout<< "入队失败!队列已满!"<<endl;
}
Q.stu[Q.rear].name=s;
Q.rear=(Q.rear+1)%MAX;
cout<< "入队成功!"<<endl;

}

2.输出学生

int OutQueue(Sql &Q,string s, Student c)

{

if(Q.front==Q.rear)
{
cout<< "队列为空!出队失败!"<<endl;
return 0;
}
if(Q.stu[Q.front].name==s)
{
    c=Q.stu[Q.front];
    Q.front=(Q.front+1)%MAX;
cout<< "出队成功,没有插队"<<endl;
return 1;
}else
{
    c=Q.stu[Q.front];
    Q.front=(Q.front+1)%MAX;
    Q.stu[Q.front]=c;
cout <<"出队成功,有插队"<<endl;
return 0; 
}

}

3.主函数:

int main(void)

{

Sql q;
InitQueue(q);
int T,n,a=0;
string s1,s2;
cin>>T>>n;
for(int i=0;i<n;i++)
{
cin>>s1>>s2;
if(s1=="in")
    {
        InQueue(q,s2);
    }else
    {
        Student d;
        a+=OutQueue(q,s2,d);
    }
cout<<a<<endl;
}
return 0;

}

总结:这道题不难,难的是没有静下心来好好思考!

目录
相关文章
|
机器学习/深度学习 PyTorch Go
YOLOv5的Tricks | 【Trick4】参数重结构化(融合Conv+BatchNorm2d)
这篇文章是想要记录yolov5在模型搭建过程中的一个融合模块,就是把卷积与批归一化的参数进行融合,想卷积带有批归一化的性质,使得推理过程中可以加快模型推理速度,简化整个模型结构,实现训练与推理两个阶段的解耦。
780 0
YOLOv5的Tricks | 【Trick4】参数重结构化(融合Conv+BatchNorm2d)
|
1月前
|
数据可视化
R语言nlme、nlmer、lme4用(非)线性混合模型non-linear mixed model分析藻类数据实例(上)
R语言nlme、nlmer、lme4用(非)线性混合模型non-linear mixed model分析藻类数据实例
|
1月前
|
资源调度 安全
R语言nlme、nlmer、lme4用(非)线性混合模型non-linear mixed model分析藻类数据实例(下)
R语言nlme、nlmer、lme4用(非)线性混合模型non-linear mixed model分析藻类数据实例
|
1月前
【视频】线性混合效应模型(LMM,Linear Mixed Models)和R语言实现案例(四)
【视频】线性混合效应模型(LMM,Linear Mixed Models)和R语言实现案例
|
1月前
|
数据可视化 测试技术
【视频】线性混合效应模型(LMM,Linear Mixed Models)和R语言实现案例(三)
【视频】线性混合效应模型(LMM,Linear Mixed Models)和R语言实现案例
|
1月前
|
机器学习/深度学习 数据可视化 数据挖掘
【视频】线性混合效应模型(LMM,Linear Mixed Models)和R语言实现案例(一)
【视频】线性混合效应模型(LMM,Linear Mixed Models)和R语言实现案例
|
1月前
【视频】线性混合效应模型(LMM,Linear Mixed Models)和R语言实现案例(二)
【视频】线性混合效应模型(LMM,Linear Mixed Models)和R语言实现案例
|
1月前
|
vr&ar
R语言如何做马尔科夫转换模型markov switching model
R语言如何做马尔科夫转换模型markov switching model
|
7月前
|
算法 数据挖掘 知识图谱
LINE算法复现 图表示学习 基于line 算法的节点分类 聚类显示 完整代码+数据
LINE算法复现 图表示学习 基于line 算法的节点分类 聚类显示 完整代码+数据
27 0
|
机器学习/深度学习 自然语言处理 算法
Text to Image 文本生成图像定量评价指标分析笔记 Metric Value总结 IS、FID、R-prec等
Text to Image 文本生成图像定量评价指标分析笔记 Metric Value总结 IS、FID、R-prec等
Text to Image 文本生成图像定量评价指标分析笔记 Metric Value总结 IS、FID、R-prec等