学习日志(七)

数组

一. 冒泡排序通过对待排序序列从前向后,依次比较相邻元素的值,若发现逆序则交换,使值大的元素逐渐从前向后移动。

例:

#include <stdio.h>

int main() {

int a[10]={3,1,4,5,2};

for (int i=1;i<=4;i++) {

for (int j=0;j<5-i;j++) {

int temp=a[j];

a[j]=a[j+1];

a[j+1]=temp;

}

}

}

for (int i=0;i<5;i++) {

printf ("%d",a[i]);

}

return 0;

}

二. 打印杨辉三角(应用二维数组)

#include <stdio.h>

int main() {

int a[10][10],i,j;

for (i=0;i<10;i++) {

a[i][0]=1;

a[i][i]=1;

}

for (i=2;i<10;i++) {

for (j=1;j<i;j++) {

a[i][j]=a[i-1][j]+a[i-1][j-1];

for (i=0;i<10;i++) {

for (j=0;j<=i;j++) {

printf ("%5d",a[i][j]);

printf ("\n");

}

return 0;

}

三. 计算鞍点 (其他同学的代码)

// #pragma GCC optimize(2) 这是一条针对GCC编译器的编译优化指令,这里的 optimize(2) 表示启用一定级别的 优化策略,目的是让生成的可执行代码在运行效率等方面有更好的表现

#include <bits/stdc++.h> 万能头文件

usingnamespacestd;

#define int long long

#define endl '\n'

signedmain()

{

ios::sync_with_stdio(false);  ios::sync_with_stdio(false); 这行代码是为了取消C++ 中 cin/cout 和 stdi o (C语言的标准输入输出函数)之间的同步,在大量输入输出的情况下能提升一定

效率。

cin.tie(0); 和 cout.tie(0); 分别解除 cin 和 cout 之间的绑定关系,进 一步优化输入输出的性能。

cin.tie(0);

cout.tie(0);

intn, m;

cin >> n >> m;

vector<vector<int>> vec(n, vector<int>(m)); 定义了一个名为 vec 的二维向量,其大小为 n 行 m 列,并且 初始元素值是默认初始化(对于 int 类型也就是0)。

for(auto &vec1 : vec)

{

for(auto &&i : vec1)

{

cin >> i;

}

}

intnum;

cin >> num;

cout << accumulate(vec[num - 1].begin(), vec[num - 1].end(), 0); 使用 accumulate 函数(它来自 <algorit } hm> 头文件,由于包含了 <bits/stdc++.h > 所以可以直接使用),计算并输出二维 向量 vec 中索引为 num - 1 这一行所有 元素的总和, accumulate 函数的第三个参 数 0 表示初始累加值为0,第一个元素开始 依次累加直到最后一个元素

全部评论

相关推荐

亚控科技
|
校招
|
2个岗位
点赞 评论 收藏
分享
昨天 21:08
门头沟学院 C++
投递字节跳动等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
1
分享
牛客网
牛客企业服务