美文网首页做全栈攻城狮.netC#
电脑小白学习软件开发(9)-C#基础数组最大值,最小值及排序

电脑小白学习软件开发(9)-C#基础数组最大值,最小值及排序

作者: 做全栈攻城狮 | 来源:发表于2016-11-09 10:42 被阅读55次

写代码也要读书,爱全栈,更爱生活。每日更新原创IT编程技术及日常实用视频。

我们的目标是:玩得转服务器Web开发,搞得懂移动端,电脑客户端更是不在话下。

关注微信公众号:做全栈攻城狮。

这是做全栈攻城狮原创的C#从基础到精通开发系列教程,希望能以我微薄之力,能帮助那些正在学习或者将要学习安卓开发的同仁。当然技术性教程,因为知识的相关性,推荐按照顺序进行学习。这里我贴一下目录连接。http://blog.sina.com.cn/s/blog_6ab069310102wpj6.html。公众号:做全栈攻城狮。

上篇教程:电脑小白学习软件开发(八)-复杂数据类型介绍使用,枚举,数组

本系列教程致力于电脑小白可以入门学习精通编程开发。

目录:

回顾-数组定义

求数组的最大值,最小值

冒泡排序

上次说了枚举字符串以及数组的一部分知识点,其实这些东西枯燥的很。小编在以前学习的时候也是如此。虽然枯燥,但这是做所有项目的基础。今天主要讲解点数组的基础知识,这个很重要。小编也尽量加大马力去写做。争取把自己所接触的知识,按照最简单的思路传播给你。一起努力。

小编每天写技术文章大约需要两到三个小时,所以如果正在看这篇教程的你,请在下方讨论区,让我看到你们的支持。你的支持是小编最大的动力。

回顾数组定义:

上次说到,数组定义一般有如下两个形式:(当然为了加深理解,我们一般以int类型数组为例)

两种形式,最大的区别就是第二个需要指定数组长度。而第一个是以集合初始化器输入的个数自动确定长度。

而第二种的话未免还需要给数组赋值,所以一般第一种比较常用,两者可以进行搭配使用。

求数组内所有数的和:

对于求一个数组的和,我们只需要声明一个变量,依次访问数组内的每个元素,并加到这个变量内部。则最后这个变量就是最终的和。

1.通过索引的方式就可以访问到数组内部的元素,索引是从0到数组长度-1。

2.数组点Lenth就是数组的长度。

求数组的最大值、最小值

对于求一个数组的最大值最小值可以简单这么理解。比如现在有一排人。如下图:(哈哈开个玩笑随便画的)

要找到一排人中身高最低的人。那我们就可以:

随便找出来一个人,量一下他的身高。

那他和第一个人比较,如果第一个人比他低,则把第一个人和参考的这个人换过来,身高低的当这个参考;如果第一个人比较高,则不需要更换参考了。

然后依次拿着这个参考物去挨个比较,并重复步骤2.最终的参考就是身高最低的。

代码:

最小值:

最大值怎么做呢?很简单,只需要改一个符号就好了。

就这么简单你看懂了吗?

数组排序:冒泡排序

冒泡排序可谓是最经典的排序算法,现在目前的很多的面试题中都有很多需要手写冒泡排序。

冒泡算法详解:

比较相邻的两个元素的大小,如果第一个比第二个大就互换一下。

然后每一对都做如上操作,如此一来最后一个元素肯定是最大的数了。

除了最后一个元素,重复以上步骤。然后倒数第二个就是次大的值了

一次按照这个逻辑直到没有任何数字可以比较了。

这样就是形成了一个从小到大的数组了。

来个例子:

例如有个数组的值分别为:

数组初值: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瓶子里面。就完成了更换工作。

所以在程序中,也可以使用如此的思想。新建一个变量来实现变量值的交换。

推荐按照顺序进行学习的。致力于原创编程技术视频。做全栈攻城狮。

公众号:做全栈攻城狮

相关文章

  • 电脑小白学习软件开发(9)-C#基础数组最大值,最小值及排序

    写代码也要读书,爱全栈,更爱生活。每日更新原创IT编程技术及日常实用视频。 我们的目标是:玩得转服务器Web开发,...

  • js笔记四十获取数组中的最大值和最小值(四种方法)

    获取数组中最大值和最小值 给数组进行排序(小->大), 第一个和最后一个就是最小值和最大值 使用Math中的max...

  • jsday02

    数组 数组求最大值 数组求最小值 数组拼接成字符串 反转数组 冒泡排序 阻止链接跳转 数组的一些方法

  • 二、基本算法

    一、选择排序 核心思想: 以数组为例:取出数组的最大值(最小值),然后将最大值与数组的第一位进行交换。 讲解:第一...

  • 计数排序

    排序简介 找出数组的最大值和最小值,创建新数组[max+1], 原数组值等于新数组下标时, 新数组值加一,最后把新...

  • ios 数组排序一些基础方法

    数组翻转 数组升序 数组降序 获取数组对象和,平均数,最大值,最小值 冒泡排序 原理:比较两个相邻的元素,将值大的...

  • C语言:十种排序(一) - 冒泡排序

    前言 一种将无序数组进行排序的方法。 冒泡排序,主要思想:每次循环找到一个最大值或最小值放到数组最右边(通过左右元...

  • 找出数组中的最大值最小值,最小值必须在最大值前面

    给一个数组,找出数组中的最大值最小值,最小值必须在最大值前面,也就是说最小值的下标必须比最大值的下标小。 要求时间...

  • jsday05

    今天学了什么 1数组的增添 2.数组最大值最小值 3.冒泡排序 4.排他思想 5.className 函数 1.定...

  • 排序算法--选择排序

    选择排序基本思想如下: 遍历未排序数组,选出最小值,放在数组开头 在剩余未排序数组中,选出最小值,排在已排序数组的...

网友评论

    本文标题:电脑小白学习软件开发(9)-C#基础数组最大值,最小值及排序

    本文链接:https://www.haomeiwen.com/subject/iyizuttx.html