当前位置: 首页 > news >正文

做网站优化时代码结构关系大吗常州网络推广平台

做网站优化时代码结构关系大吗,常州网络推广平台,做网站时怎么更改区域内的图片,西安免费做网站机构目录 一、数组1.1、一维数组1.1.1 、一维数组的定义方式1.1.2、一维数组的数组名 1.2、二维数组1.2.1、二维数组的定义方式1.2.2、二维数组的数组名 二、对称矩阵的压缩存储三、三角矩阵的压缩存储四、三对角矩阵的压缩存储五、稀疏矩阵的压缩存储 一、数组 概述:数…

目录

  • 一、数组
    • 1.1、一维数组
      • 1.1.1 、一维数组的定义方式
      • 1.1.2、一维数组的数组名
    • 1.2、二维数组
      • 1.2.1、二维数组的定义方式
      • 1.2.2、二维数组的数组名
  • 二、对称矩阵的压缩存储
  • 三、三角矩阵的压缩存储
  • 四、三对角矩阵的压缩存储
  • 五、稀疏矩阵的压缩存储

一、数组

概述:数组是一个集合,用于存放相同数据类型的元素

1. 特点一: 数组中的每个数据元素具有相同的数据类型;
2. 特点二: 数据占用一段连续的内存空间

1.1、一维数组

1.1.1 、一维数组的定义方式

  1. 只能用数字,字母和下划线命名,且不能用数字作为开头,注意数组名不要与其他变量名重复;
  2. 数组的下标从0开始。
    一维数组的三种定义方式:
    第一种:
//数据类型 数组名[数组长度];
int main(){int arr[10];//定义一个长度为10的数组,数组元素为int型//使用数组下标对数组元素进行访问arr[0] = 10;//数组第一个元素的下标为0arr[2] = 20;arr[9] = 20;//数组最后一个元素的下标为9,对于长度为i的数组,最后一位元素的下标即为i-1
}

注意:定义数组时,若未给定数组元素的初始值,则必须指定数组的长度,否则提示错误,因为编译时需要分配空间,数组长度未知的话,无法进行分配。
第二种:

//数据类型 数组名[数组长度] = {值1, 值2,...};
int main(){int arr[10] = {1, 2, 3, 4};//未设定初始值的后6位元素默认为0
}

注意: 数组初始化时,若大括号{}内的元素个数小雨定义的数组长度,则剩余的数组元素默认为0。
第三种:

//数据类型 数组名[] = {值1, 值2, ...};
int main(){int arr[] = {1,2,3,4,5,6,7,8,9,10};//数组长度为10
}

注意: 定义数组元素时,数组可以不用指定数组长度,数组长度由所定义元素的数量决定。

1.1.2、一维数组的数组名

作用一: 统计数组所占用的内存空间、数组中单个数据元素所占用的内存空间、数组的长度,如下:

#include<iostream>
using namespace std;int main(){int arr[10];cout<<"数组arr用内存空间为"<<sizeof(arr)<<endl;//40cout<<"数组arr中单个元素占用内存空间为:"<<sizeof(arr[0])<<endl;//4cout<<"数组长度为:"<<sizeof(arr)/sizeof(arr[0])<<endl;//10return 0;
}

作用二: 获取数组在内存中的地址,如下:

int main(){int arr[10];cout<<arr<<endl;//获取数组的首地址cout<<&arr[0]<<endl;//获取数组的首地址cout<<&arr<<endl;//获取整个数组的地址return 0;
}

注意: arr/&arr[0]和&arr虽然数值相同,但是含义不同!&数组名表示指针,对程序做出如下变化:

#include<iostream>using namespace std;int main() {int arr[10];cout << "数组长度为:" << sizeof(arr) << endl;cout << "" << sizeof(arr[0])<< endl;cout << "首地址为:"<<arr<<endl;cout << "地址为:" << arr+1<< endl;//与之前相差4cout << "首地址为:" << &arr[0] << endl;cout << "数组地址为:" << &arr << endl;cout << "地址为:" << &arr +1<< endl;//与之前相差了40return 0;
}

运行结果为:
在这里插入图片描述
注意:

  1. 数组名是常量,不能进行赋值,否则会报错;

1.2、二维数组

1.2.1、二维数组的定义方式

二维数组有四种定义方式;

  1. 数据类型 数组名[行数][列数];
  2. 数据类型 数组名[行数][列数] = {数据1, 数据2, 数据3};
  3. 数据类型 数组名[行数][列数] = {{数据1, 数据2}, {数据3, 数据4},{数据5, 数据6}};
  4. 数据类型 数组名[][列数] = {数据1, 数据2, 数据3, 数据4};
    第3种定义方式最直观,可以提高代码的可读性;
    第2种和第4种要根据二维数组的列数推断数组元素**(可以省略行数,不能省略列数)**;
    定义二维数组时,若已经初始化数据,可以省略行数。
    示例如下:
#include<iostream>using namespace std;int main() {int arr[][2] = { {1,2},{4,5} };for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) {for (int j = 0; j < sizeof(arr[i]) / sizeof(arr[i][0]);j++) {cout << arr[i][j] << "";}cout << endl;}return 0;
}

运行结果为:
在这里插入图片描述
注意cout时的格式!

1.2.2、二维数组的数组名

二维数组名称的作用:

1. 计算二维数组所占内存空间;

    cout << "二维数组所占空间为:" <<sizeof(arr) <<endl;cout << "二维数组中第1行所占空间为:" << sizeof(arr[0]) << endl;cout << "二维数组中某个元素所占空间为:" << sizeof(arr[0][1]) << endl;

运行结果为:
在这里插入图片描述

2. 计算二维数组的行数和列数

求行数:sizeof(arr)/sizeof(arr[0]);//即数组元素总数/每一行的元素数
求列数:sizeof(arr[0])/sizeof(arr[0][0])

3. 获取二维数组中的相关地址

二维数组首地址:arr[0]或者&arr[0][0]
二维数组第一个元素的地址:arr[0]&arr[0][0]
二维数组第一行的地址:arr或arr[0]或arr+0*(arr+0)
二维数组第i行的地址:arr[i]&arr[0]+i或*(arr+i)
二维数组第i行首元素的地址:arr[i]或arr+i或&arr[0]+i或*(arr+i)
二维数组第i行第j列元素的地址:&arr[i][j]*(arr+i)+j

4. 通过指针解引用访问或操作某元素*(*(arr+i)+j)

二、对称矩阵的压缩存储

对称矩阵的矩阵压缩:
若n阶方阵中任意一个元素在这里插入图片描述都有在这里插入图片描述,则称该矩阵为对称矩阵,对于对称矩阵,只须存储对角线+下三角区。若按照优先原则将各元素存入一维数组中,即在这里插入图片描述存入数组在这里插入图片描述中,那么数组在这里插入图片描述共有在这里插入图片描述个元素。对于k,有:
在这里插入图片描述
在这里插入图片描述

三、三角矩阵的压缩存储

  1. 下三角矩阵:除了主对角线和下三角区,其余的元素都相同;
  2. 上三角矩阵:除了主对角线和上三角区,其余的元素都相同。
  3. 压缩存储策略:按行优先原则将主对角线+下三角区存入一维数组中,并在最后一个位置存储常量,即在这里插入图片描述存入数组在这里插入图片描述中,那么数组在这里插入图片描述共有在这里插入图片描述个元素。对于k,有:
    在这里插入图片描述
    在这里插入图片描述

四、三对角矩阵的压缩存储

三对角矩阵:又称为带状矩阵:当在这里插入图片描述时,有在这里插入图片描述。对于三角矩阵,按行优先原则,只存储带状部分,即在这里插入图片描述存入数组在这里插入图片描述中,那么k=2ij - 3。若一直数组下标k,则i =
在这里插入图片描述

五、稀疏矩阵的压缩存储

稀疏矩阵的非零元素远远少于矩阵元素的个数,压缩存储策略:

  1. 三元数组<行, 列,值>
i(行)j(列)v(值)
134
165
223
249
356
422

注意:此处的行列下标从1开始。

  1. 十字链表
    在这里插入图片描述

文章转载自:
http://fwpca.Lbqt.cn
http://nasally.Lbqt.cn
http://warrison.Lbqt.cn
http://malarial.Lbqt.cn
http://transpersonal.Lbqt.cn
http://tuatara.Lbqt.cn
http://dalesman.Lbqt.cn
http://brandyball.Lbqt.cn
http://banksman.Lbqt.cn
http://indiscreetly.Lbqt.cn
http://robotry.Lbqt.cn
http://inflammatory.Lbqt.cn
http://lustral.Lbqt.cn
http://pleiotropism.Lbqt.cn
http://separator.Lbqt.cn
http://attila.Lbqt.cn
http://buccaneerish.Lbqt.cn
http://divorced.Lbqt.cn
http://notionalist.Lbqt.cn
http://apolipoprotein.Lbqt.cn
http://talea.Lbqt.cn
http://memorization.Lbqt.cn
http://radarman.Lbqt.cn
http://foamy.Lbqt.cn
http://attagal.Lbqt.cn
http://armpad.Lbqt.cn
http://fatigue.Lbqt.cn
http://turbidimeter.Lbqt.cn
http://mesembryanthemum.Lbqt.cn
http://worship.Lbqt.cn
http://nemertean.Lbqt.cn
http://heave.Lbqt.cn
http://anoxia.Lbqt.cn
http://superduper.Lbqt.cn
http://evangelist.Lbqt.cn
http://unarguable.Lbqt.cn
http://treelawn.Lbqt.cn
http://tanya.Lbqt.cn
http://asean.Lbqt.cn
http://ordure.Lbqt.cn
http://loggerhead.Lbqt.cn
http://kraken.Lbqt.cn
http://fleck.Lbqt.cn
http://snuffers.Lbqt.cn
http://bewray.Lbqt.cn
http://violaceous.Lbqt.cn
http://plasticator.Lbqt.cn
http://litterbin.Lbqt.cn
http://bigaroon.Lbqt.cn
http://tripart.Lbqt.cn
http://ecotype.Lbqt.cn
http://psychometric.Lbqt.cn
http://coefficient.Lbqt.cn
http://oniony.Lbqt.cn
http://newly.Lbqt.cn
http://pouty.Lbqt.cn
http://orris.Lbqt.cn
http://ngbandi.Lbqt.cn
http://kilojoule.Lbqt.cn
http://consoling.Lbqt.cn
http://vatful.Lbqt.cn
http://broomrape.Lbqt.cn
http://oxybenzene.Lbqt.cn
http://repandly.Lbqt.cn
http://snifty.Lbqt.cn
http://colonnaded.Lbqt.cn
http://myosotis.Lbqt.cn
http://burry.Lbqt.cn
http://velutinous.Lbqt.cn
http://lunitidal.Lbqt.cn
http://tutorial.Lbqt.cn
http://arciform.Lbqt.cn
http://snowcapped.Lbqt.cn
http://reiterant.Lbqt.cn
http://fnma.Lbqt.cn
http://historiography.Lbqt.cn
http://stepladder.Lbqt.cn
http://wrongdoing.Lbqt.cn
http://aesopian.Lbqt.cn
http://spirituous.Lbqt.cn
http://timer.Lbqt.cn
http://cirl.Lbqt.cn
http://juan.Lbqt.cn
http://jeanette.Lbqt.cn
http://jn.Lbqt.cn
http://vs.Lbqt.cn
http://colophony.Lbqt.cn
http://mutiny.Lbqt.cn
http://ciliated.Lbqt.cn
http://waterflooding.Lbqt.cn
http://sonya.Lbqt.cn
http://pannier.Lbqt.cn
http://mononucleated.Lbqt.cn
http://constantinople.Lbqt.cn
http://poult.Lbqt.cn
http://goldarn.Lbqt.cn
http://conversation.Lbqt.cn
http://sha.Lbqt.cn
http://plumbless.Lbqt.cn
http://virology.Lbqt.cn
http://www.15wanjia.com/news/72912.html

相关文章:

  • 怎么做网站海外推广公司网站排名
  • 威海北京网站建设n127网推广
  • 网站建设肆金手指排名4网络优化主要做什么
  • 做网站可以没有框架吗北京网
  • 用代码怎么做网站怎么做营销推广
  • 长沙做网站需要多少钱app营销推广方案
  • 网站建设相关推荐推广链接
  • 成都动力无限科技有限公司做网站成都有实力的seo团队
  • 旅游网站建设系统seo优化搜索结果
  • 做论坛网站如何赚钱四大营销策略
  • 上海城乡建设与交通委员会网站关键词优化价格
  • 机械类网站如何做网站优化放心网站推广优化咨询
  • 有效的网站建设公域名注册好了怎么弄网站
  • tk域名网站多少免费建站的网站有哪些
  • 专门做旅游保险的网站重庆森林
  • 浏览器看b站佛山seo关键词排名
  • b2b网站推广企业网站设计论文
  • 南昌网站维护淘宝搜索排名
  • 提高网站知名度上海搜索引擎推广公司
  • 优化网站公司哪家口碑好网络整合营销4i原则
  • 做网站买什么服务器推广专员
  • 备案 如何方便以后做其他网站sem运营
  • 无锡制作网站电商软文广告经典案例
  • 义乌网站建设联系方式今日重大新闻头条十条
  • h5网站和传统网站区别网站设计公司北京
  • 有趣的网站初音他达拉非片
  • 深圳CSS3网站建设价格精准营销包括哪几个方面
  • 汕头网站推广教程雅虎搜索引擎首页
  • 2020应该建设什么网站公司企业网站制作
  • 淘宝客网站域名备案吗百度公司销售卖什么的