zoukankan      html  css  js  c++  java
  • #C++初学记录

    队列进行。
    题目:http://www.dotcpp.com/oj/problem1895.html?tdsourcetag=s_pcqq_aiomsg

    实验代码

    #include<iostream>//cin cout; 
    #include<algorithm>
    #include<queue>
    using namespace std;
    
    	int n;//操作次数 
    	int a;//操作类型 
    	int b;// 操作元素 
    	queue<int> que;//创建一个新的队列 ;
    	
    int main()
    {
    	cin>>n;
    	for(int i=0;i<n;++i)
    	{
    	cin>>a;
    	if(a==1)
    	{
    		cin>>b;//输入元素 ; 
    		que.push(b);//压入队列 ; 
    	}
    	else if(a==2)
    	{
    		if (que.empty())//队列是否为空集; ture,false。 //que.size()==0; 
    		
    		{
    			cout<<"No"<<endl;
    			return 1;
    		}
    		else
    		{
    				cout << que.front() << endl;
    				que.pop();
    	    }
    	}
    	else if(a==3)
    	
    		cout<<que.size()<<endl;
    	}
    	return 0; 
     } 
    

    知识点。

    que.size() 访问队列多少元素
    que.front() 访问队首元素
    que.back() 访问队尾元素
    que.push(val) 向队尾插入元素
    que.pop() 弹出队首元素
    que.empty() 队列是否为空 如果为空 返回True 否则false

    认识总结
    程序刚开始因c++有队列头文件,因此需要创建一个队列,即代码queue que,创建完毕后队列为空,键入cin>>b(输入元素) que.push(b)(压入队列 ),之后,队列里存在键入的元素。当键入2时,程序应判断队列中是否为空集,因此用if条件语句,即 **if (que.empty()) **(空为0即false反之为ture)最后输出 cout<<que.size()<<endl得到队列中元素个数。

    运行过程
    因c++刚开始学习所以有一些基础语法掌握不牢固,比如cin使用时不停使用endl结尾导致编译错误。

    删除之后运行结果正常。
    以及输出字符串No时没有使用双引号导致编译错误。

    程序cin>>b必须在if(a==1)条件里面运行,而不能和a一起输入,原因是因为只有条件1下有b的输入。

    这样编写会导致程序运行错误而无法正确得出结果,b的输入会导致程序混乱。
    经过最后的编写得到的正确运行结果:

  • 相关阅读:
    scapy-python
    多进程和多线程
    Python函数
    while循环
    打印print的另一种方式sys.stdout
    python3 pickle & struct
    正则表达式
    【牛客网刷题】两种排序方法
    使用Python matplotlib做动态曲线
    【牛客网刷题】一次难忘的编程教训
  • 原文地址:https://www.cnblogs.com/xiaofengqaq/p/10533061.html
Copyright © 2011-2022 走看看