栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

语法基础之数组

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

语法基础之数组

一、定义初始化为0的数组

二、局部变量与全局变量

在函数内部不要定义过长的数组,因为函数内部的变量是放在栈中,大小限制为1MB。当变量大小超过一MB,就要定义在全局变量中。

报错,100万个int 400万byte
400 000 00 B/1024/1024 =3.8 MB 超过空间
解决办法将变量定义为全局变量,全局变量放在堆空间,没有限制(仅受内存大小限制)

局部变量默认值是随机的。


全局变量默认值全部是0

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

对于一个大而且长的变量尽量定义为全局变量。

三、数组翻转的实现 1. 逻辑思路

2.代码

reverse() 需要两个参数,第一个是翻转数组的起始位置,第二个是翻转数组末位置的下一个位置。导入algorithm是为了使用reverse()函数。

#include
#include
using namespace std;
int main()
{
    int a[100];
    
    int n,k;
    cin>>n>>k;
    for(int i=0;i>a[i];

    reverse(a,a+n);
    reverse(a,a+k);
    reverse(a+k,a+n);
    
    for(int i=0;i 
四、浮点数比较大小 
1.起因 

因为浮点数精度问题,经过运算后获得的数据与想象中不一致,直接比较会出现问题,需要加上误差值eps 10^-6

2.错误比较
#include
#include

using namespace std;

int main()
{
    double a=3;
    double b=sqrt(3)*sqrt(3);
    printf("b=%.20lfn",b);
    if(b==3) puts("相等");
    else puts("不相等");
    
    return 0;
}

3.浮点数复杂运算后的大于、小于和等于比较

设立误差项

#include
#include
//误差
const double eps=1e-6;
using namespace std;

int main()
{
    double a=3;
    double b=sqrt(3)*sqrt(3);
    if(fabs(b-a) 

五、高精度2的n次方 1.题目 2.思路

int 有效数字 10位
double 有效数字 15-16位


求2的10000次方有多少位,log 。log 2=0.3 10000*log 2 大约3000多位。存不下来。int 10位,double16位。使用数组模拟运算过程

用数组存放一组数据,计算加减乘的时候,a[0] a[1]从低位开始。

模拟数式

3.代码
#include
#include
using namespace std;
const int N=3010;
int main()
{
    //数组中只有一个数字是1,其余都是0。
    int a[N]={1};
    
    int n=0;
    cin>>n;
    //位数
    int m=1;
    cout<<(int)pow(2,n)<=0;i--) cout< 

在代码中做了pow(2,n)与高精度计算的对比。
当n过大时,pow()就不能使用。

六、数组初始化 1.简单初始化

2.bit byte KB MB的关系 以及Mb Kb


3.使用函数初始化数组为0或-1

#include
memset(数组名,每个字节的数据,数组多少字节)
memset 以字节计算数据。数组的长度为字节数
1 int 是4个byte。

#include
#include

using namespace std;
int main()
{
    int a[10],b[10];
    //将数据初始化为0
    memset(a,0,40);
    //计算机负数补码操作,将数据初始化为-1
    memset(b,-1,40);
    for(int i=0;i<10;i++) cout< 
4.详细描述memset 



一共10组 。取出一组,也就是4 byte 占32 bit。

则在memset中将每个byte赋值为1。得到的结果不是1。




二级制101 10进制5。

5.sizeof 计算字节大小


七、复制数组


memcpy(目标数组,被复制的数组,sizeof 字节长度)

八、longlong输出格式


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/293697.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号