今天先把欠了很多天的老师作业交了;
然后看了看vj开的题组,发现根本动不了手,不知道从哪里做起;(十分痛苦)但是还是上网找题解看,发现了里面我挺多没见过的东西(虽然都简单的但还是总结一下吧);
1.“->”符号是一个整体,它是用于指向结构体子数据的指针,用来取子数据。(就是指针)
2.“typedef”这个我看了挺久的,还问了一下师傅。这个链接讲解的很详细
typedef的用法,C语言typedef详解 (biancheng.net)
3.“memset”是计算机中C/C++语言初始化函数。作用是将某一块内存中的内容全部设置为指定的值, 这个函数通常为新申请的内存做初始化工作。
举例:memset(fact, 0, sizeof(fact));
4.虽然简单搜索没有完全看懂,但是我觉得明天一定能写出来!!!
今晚最后学长还给我们讲了一下栈和队列,栈的话是先进后出,队列的话是先进后出。我直接放定义的源代码
栈:
#include<iostream>
using namespace std;
const int max_n=1e5+10;
int Q[max_n];//定义一个栈
int top;//栈顶
int push(int x){
Q[top]=x;
top++;
}
int pop()
{
int x=Q[--top];
return x;
}
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
{
int x;
cin>>x;
push(x);
}
for(int i=0;i<n;i++)
{
cout<<pop()<<endl;
}
}
队列:
#include<iostream>
using namespace std;
const int max_n=1e5+10;
int Q[max_n];//队列
int front,back;//首 尾
void push(int x)
{
Q[back]=x;
back++;
}
int pop()
{
int x=Q[front];
front++;
return x;
}
int main()
{
int n;
cin>>n;
while(n--)
{
int x;
cin>>x;
push(x);
}
while(front<back)
{
cout<<Q[front]<<endl;
front++;
}
}