20260415-入门班-期中复习
正在进行…
IOI
开始于: 2026-4-20 15:00
3
小时
主持人:
21
函数
函数格式
返回值 函数名 (参数1c,参数2...){
函数主题
return 返回值;
}
示例
判断某个数奇偶性的函数
int f(int x){
if(x%2==0) return 0;
else return 1;
}
int main(){
int n;cin>>n;
if(f(n)==0){
cout<<"偶数";
}
else{
cout<<"奇数";
}
}
练习 A 函数练习-1
结构体
在处理数据的过程中,有时候需要储存多种多样的信息。比如一位学生,他有姓名,年龄,学号等等。然而数组只能储存同一种类型的信息,比如int、char、string...
C++结构体是一系列具有相同类型或不同类型的数据构成的数据集合。
结构体格式
struct 类型名 {
数据类型1 成员变量1;
数据类型1 成员变量1;
}[结构体变量名];
struct 已定义的类型名 结构体变量名;
示例
struct student{
string name;
int chinease;
int math;
int english;
}s[1005];
struct student ans;
//定义了名为s的学生 1005个,定义了一个叫ans的学生
练习 B-最厉害的学生
排序
冒泡排序
for(int i=1;i<=n;i++){//可以写n-1
for(int j=1;j<=n-1;j++){
if(a[j]>a[j+1]){
swap(a[j],a[j+1]);
}
}
}
选择排序
for(int i=1;i<=n;i++){
int now=a[i];
for(int j=i;j<=n;j++){
if(now>a[j]){
swap(now,a[j]);
}
}
a[i]=now;
}
快速排序
sort(数组名+起始位置,数组名+终止位置+1,自定义函数(不写默认升序));
C-身高排序
栈与队列
栈与队列
栈(stack)是一种特殊的线性表,只能从一端进行插入或者删除操作。这一端被称为栈顶,另一端被称为栈底,栈的特点是后进先出(Last In First Out)
栈操作
stack<int> sta;//定义一个栈
sta.push(x);//向栈顶放入一个 x
cout<<sta.top();//查看栈顶
sta.pop();//丢出栈顶
cout<<sta.size();//查看栈的大小
cout<<sta.empty();//查看栈是否为空
//以上操作复杂度均为O(1)
queue
和栈不同,队列是只能从一端进入,从另一端出去的数据结构
队列操作
queue<int> que;//定义一个存储int类型的队列 名字叫 que
que.push(x);//在队列中加入一个数字
que.front();//返回队列最前面的数字
que.pop();//丢掉队列最前面的数字
que.size();//返回队列里的大小
que.empty();//返回布尔值,是否为空
//以上操作复杂度均为O(1)
D-约瑟夫问题
我们会在赛后检查代码相似度。
- 状态
- 正在进行…
- 规则
- IOI
- 题目
- 4
- 开始于
- 2026-4-20 15:00
- 结束于
- 2026-4-20 18:00
- 持续时间
- 3 小时
- 主持人
- 参赛人数
- 21