十分钟看完这篇文章。无一小白不明白基础数组最大值,最小值及排序
Posted 苏州程序大白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了十分钟看完这篇文章。无一小白不明白基础数组最大值,最小值及排序相关的知识,希望对你有一定的参考价值。
十分钟看完这篇文章。无一小白不明白基础数组最大值,最小值及排序
目录
数组定义
数组定义一般有如下两个形式:(当然为了加深理解,我们一般以int类型数组为例)
两种形式,最大的区别就是第二个需要指定数组长度。而第一个是以集合初始化器输入的个数自动确定长度。
而第二种的话未免还需要给数组赋值,所以一般第一种比较常用,两者可以进行搭配使用。
求数组内所有数的和
对于求一个数组的和,我们只需要声明一个变量,依次访问数组内的每个元素,并加到这个变量内部。则最后这个变量就是最终的和。
1.通过索引的方式就可以访问到数组内部的元素,索引是从0到数组长度-1。
2.数组点Lenth就是数组的长度。
求数组的最大值、最小值
对于求一个数组的最大值最小值可以简单这么理解。比如现在有一排人。如下图:(随便画个,便于讲解。)
要找到一排人中身高最低的人。那我们就可以:
随便找出来一个人,量一下他的身高。
那他和第一个人比较,如果第一个人比他低,则把第一个人和参考的这个人换过来,身高低的当这个参考;如果第一个人比较高,则不需要更换参考了。
然后依次拿着这个参考物去挨个比较,并重复步骤2.最终的参考就是身高最低的。
代码:
最小值:
最大值怎么做呢?很简单,只需要改一个符号就好了。
就这么简单你看懂了吗?
数组排序:冒泡排序
冒泡排序可谓是最经典的排序算法,现在目前的很多的面试题中都有很多需要手写冒泡排序。
冒泡算法详解:
1、比较相邻的两个元素的大小,如果第一个比第二个大就互换一下。
2、然后每一对都做如上操作,如此一来最后一个元素肯定是最大的数了。
3、除了最后一个元素,重复以上步骤。然后倒数第二个就是次大的值了
4、一次按照这个逻辑直到没有任何数字可以比较了。
这样就是形成了一个从小到大的数组了。
来个例子:
例如有个数组的值分别为:
数组初值:1,9,7,1,65,4,7
第一次比较:1<9不交换
交换前:1,9,7,1,65,4,7
交换后:1,9,7,1,65,4,7
第二次比较:9>7交换
交换前:1,9,7,1,65,4,7
交换后:1,7,9,1,65,4,7
第三次比较:9>1交换
交换前:1,7,9,1,65,4,7
交换后:1,7,1,9,65,4,7
第四次比较:9<65不交换
交换前:1,7,1,9,65,4,7
交换后:1,7,1,9,65,4,7
第四次比较:65>4交换
交换前:1,7,1,9,65,4,7
交换后:1,7,1,9,4,65,7
第五次比较:65>7交换
交换前:1,7,1,9,4,65,7
交换后:1,7,1,9,4,7,65
此时判断完一次了。最后的元素是最大值了。
下面去掉最后一个元素固定不动,前面的元素重复以上操作。最终就形成了从小到大的数组
冒泡排序代码:
交换两个数的算法解释:
对于交换两个数的值,可以用我们需要更换两个瓶子的故事来解释:
有两个瓶子分别叫做小A和小B,A里面装的是醋,B里面装的是酱油。现在需要更换他们两个瓶子盛的东西。也就是A需要装酱油,B需要装醋。那需要怎么更换过来呢?
只需要那一个另外的瓶子,把A的醋放到这个瓶子里。把B的酱油防盗A的空瓶子里。然后把醋再倒到B瓶子里面。就完成了更换工作。
所以在程序中,也可以使用如此的思想。新建一个变量来实现变量值的交换。
关注苏州程序大白,持续更新技术分享。谢谢大家支持
以上是关于十分钟看完这篇文章。无一小白不明白基础数组最大值,最小值及排序的主要内容,如果未能解决你的问题,请参考以下文章