Day 22 Reversing Array

要将array内的资料交换的方式有很多种,但我认为最直觉的是以下两种。

第一种:建立一个新的阵列然後将原本阵列里的资料由後往前抓出来建入,最後将心阵列的资料复制到旧阵列程序码如下:

Step 1 先建立一个阵列a,里面依序有1-5的整数,接着建立另一个阵列b,
并给予阵列b的记忆体大小跟a的一样,用a.length,来表示阵列b的记忆体大小。
https://ithelp.ithome.com.tw/upload/images/20211004/20140456nwEY2uqZdW.png

Step2 进入for回圈,条件式i 从第零项开始,且i 要小於a阵列的范围,i++
接着将a阵列里面的资料从後开始复制到b阵列里。
https://ithelp.ithome.com.tw/upload/images/20211004/20140456Wk4eLzbSGX.png

Step3 将矩阵b的资料复制回矩阵a。
https://ithelp.ithome.com.tw/upload/images/20211004/20140456PQgEe1tNWI.png

此时矩阵a的资料已经反转过来变成5, 4, 3, 2, 1
但这种方法所要好富的时间复杂度比较多,因此这里有另一个方法,
将1, 2, 3, 4, 5反转成5, 4, 3, 2, 1可以想成1、5对调,2、4对调,这样程序只需要执行两个动作,需要花费的时间比上一个方法少了许多,程序实作如下:

Step1建立一个阵列a,里面依序有1-5的整数。
https://ithelp.ithome.com.tw/upload/images/20211004/20140456BhXdUlNWoU.png

Step2进入for回圈,条件式i 从第零项开始,且i 要小於a阵列范围的一半,因为只需要调换两个数,i++。
https://ithelp.ithome.com.tw/upload/images/20211004/20140456ETNYtcfofE.png

Step3 宣告一着整数j,从阵列a的後面读取资料。
https://ithelp.ithome.com.tw/upload/images/20211004/20140456bHkKQay8LT.png

Step4 执行swap方法,将1、5对调,2、4对调。
https://ithelp.ithome.com.tw/upload/images/20211004/20140456M39Kgwy3Rc.png

此时阵列里的资料已经完成对调
程序全码如下
第一种方法
https://ithelp.ithome.com.tw/upload/images/20211004/20140456Ei0hRICVQp.png

第二种方法
https://ithelp.ithome.com.tw/upload/images/20211004/201404561XwdUXzOZN.png


<<:  Day22 Arrays and More Data Structures (Ⅱ)

>>:  [13th][Day19] http request header(上)

Day 3 - Using the Gmail SMTP Server to Send Emails with ASP.NET Web Forms C# 使用 Gmail 做为邮件服务器来寄信

=x= 🌵 CONTACT Page 寄信页的後端寄信功能及其它注意事项。 Gmail SMTP S...

成员 12 人:我真的不想教新人,除非他真的很可爱

「这是个性很急,却也快不了的一整个世代。」 那,我们该改用什麽样的态度,跟年轻同事相处? 没有, 绝...

认识CSS(六):CSS border边框

透过broder的语法可以让边框做多样化的设计变化, 边框的粗细、颜色、样式等数性质都可设定。 CS...

16 综观各校资工系修课蓝图

资讯工程学系(Computer Science and Information Engineerin...

学校的白色咖啡屋(二):效率的胜利 Collections And Sequences

「既然已经知道了interface,就可以来看Collections三大interface——Lis...