00:00
行,那接着呢,我们往后看啊,复制完了以后,下一个呢,叫做反转操作。数组的反转,嗯,也就是说我们现在呢,如果去遍利一下这个string的这个数组的话呢,它就是这样的一个顺序出来的,现在呢,我们想把它反转一下,哎,反转以后呢,再去遍历它就得是这样的一个顺序去输出了,呃,这样个顺序,注意你不能这块,你说我只是从这个打印的效果上来看呢,像是反着的,你说我这块呢,我就反着便利。那不行,是骗人的是吧,你反而便利的第一个元素还是勾勾,嗯,你得真正的把第一个元素就改成AA啊,这个怎么整啊。想反转?想让他跑到这儿,这个呢,跑到这儿。怎么怎么着,对,咱们原来是不是讲过那种交换两个变量值的那个操作呀,你得定一个临临时变量嘛,哎,然后让他俩换一下,然后他俩换完以后呢,接着是不是这俩再一对方式再再用一下它再换是吧,然后这个呢,这俩也用一下,它也换一下,那就可以了啊成那这块呢,反转看看怎么写啊。
01:22
哎,For循环,嗯,这个写法呢,其实不唯一啊,我们这里边呢,定义一个变量。定义一个还是定义两个呢?刚才提到了一个头,提到了一个尾,好像说有俩是吧?哎,有同学说一个就够行,一个就够,那咱们就定一个I等于初始化零吧,I小于,这么写,有同学一顺手啊,写的太熟了,没过脑子了,就直接是吧。从头到尾是吧,这样行吧。这样就麻烦了,就啊,比如说你这块没没看到哈,行请两起下边下边呢,你关键的得交换这个位置了哈,第一个是这个I的位置,那另外一个呢,你得用I来表示了,比如说我们先这个锥形的哈,看吧,等于先是我们这个,诶咱们是A22啊交换它AR2先是一个I,就是找到第二个位置,然后呢,你这个第个位置,你得清楚它跟配对的那个。
02:30
换序,那那个怎么表示。啊对,有同学说是这个,呃,这个我们先把这个I写上啊,另一个呢是AR。的长度减减可以吗?还用还用,是不是还得减个一啊。嗯,你看你I是零,就第一个元素,你最后元素不就是LA4减一嘛,所以这个减一别丢了。
03:01
啊,别丢了啊,然后减I,因为第一个你H0嘛,这个别丢了啊行,然后呢,再把它CTRLC,诶拿这个temp呢,再交换一下就行。啊,就是你这个元素啊,跟另外一个元素,你会发现它俩的和总是一个常数是吧,所以那个和呢,其实就是LAS减一所一个呢,就用另一个来表示了啊行这样写行吗。这样写我要运行的话会是什么效果呀,还是这个是吧,为啥呀,换两遍了,你这呢,跟他换了这个呢,跟他换了这个呢,跟他换了又又接着往后走,这个跟他换了,这个跟他换了又回去了是吧?所以这个终止条件有问题,哎,这个终止条件应该改成除以二。嗯,但是除以二的话呢,大家可能也会担心啊,你有的除不进的啊等等情况,这个等号到底要不要的问题,嗯,对要不要的话,这块呢,你就得自己呢,稍微的去体会一下了啊,你去体一下,比如说呢,像咱们这个题目当中这个less呢,是六六的话呢,那就是012,其实这个索引到二就行,那你这是六六除以二是三,我小于三是不是就到二了。
04:23
对这个没有问题哈,那如果要是七个元素呢,对七个的话,你要配上对中间这个就他自己了,是不是也不用换啊,其实还是到二吧。012还是到二,七个元素七除以二还是3I呢,小于三,那还是到二,OK,对没问题,所以呢,这样写是对的啊,那下边呢,咱们做一个便利,看一下呢,是不是真正的交换了。
05:08
这个我换行就不要了。一下。行这呢,是咱们最初的这个啊,这个顺序啊,然后我反转以后。哎,发展以后呢,跟刚才这个顺序呢,这时候其实是反过来了。啊,AA啊BB。MMDD这样。啊,这时候呢,就相当于是进行了一个反转啊。反转操作。嗯,这呢,其实只是我们反转操作这个方式一,嗯,那么如果说呢,有同学呢,感觉我用另外一个变量,呃,另外一个变量用已有的这个变量来表示,你要觉得不方便的话呢,其实也可以定义两个。哎,就是这俩其实一样啊,差不太多,哎这个时候的话呢,我们这样来写,把它那注释掉啊。
06:03
我呢定义俩变量,我定一个I呢是零,这是让它作为头部这个元素出现,我再定一个尾的,尾的呢都是in的形,就省略了,嗯,我定义它等于接吧,接呢先让它是点LA减一。是吧,然后呢,我让这个I呢加加,让这个接呢减减啊,那这里你要考虑的就是这个终止条件怎么控制。哎,从前往后,那个从后往前,他俩是不是别碰头啊。别反过来了是吧。就这样写就行,还用等号吗?这这不就是这个意思吗?让这个呢来充当I,这个来充当接这个往后移,这个往前移,它俩碰头的话,怎么就是相等的话呢,还用考虑不不用了,相等不就他自己,那你就别换了,自己跟自己换没意思是吧,所以就是A小一些就可以了啊哎,在这里边的话呢,就这样,S string的temp等于ari。
07:18
那这样是不是也可以啊?嗯,就是这两个,这两个方式呢,其实没有太本质的这个区别哈,大家用哪种方式呢,都OK,跑一下看看效果啊,也是OK的。嗯,行。还有同学,用别的方式吧,小雅。哎,其实基本上的话呢,大家要写呢,就从这两种里边选一种就可以了啊,那可能还有的同学呢,会这样去想说呢,我在新造一个数组,我新造一个数组呢,然后我给第一个元素赋值的时候呢,我拿刚才这个数组的后边这个元素从后往前找,然后呢,这个给第二元素呢,找他的倒数第二个,然后这个第三个呢,找他的这个倒数第三个这样。
08:08
敷完以后的话呢,我把这个数组呢,再复制给你最开始的这个数组。嗯,其实也行是吧,但是呢,显然这个效率是不是差一些啊嗯,而且呢,你这个额外的造的这个长度有点大呀,哎,咱这呢,只需要一个临时的一个变量就可以了啊行哎大家呢,从这两个里边选一种就行啊这呢叫数组的反转操作,那后续的话呢,咱们讲到字符串的时候,咱们有一张专门来讲一下这个字符串的常用操作哈,像这个hello,诶我们呢,有的时候也是需要对它进行反转的,就是hello反转完以后呢,就变成诶这么着了,哎喽low哈喽oo乐O乐ho乐是吧,这样哈,诶得反转诶到那个时候的话呢,它的反转操作的这个具体的你要想自己去实现,跟它类似,哎类似或者说的话呢,不用你自己去做了,死string里边自动有个现成的方法,直接你reverse一下就可以了。
09:09
哎,这个string里边呢,这个rewards好像还没有啊,这个string buffer啊等等他们有,就是你要想去给他这个反转,这个总有现成的结构,你可以直接调的啊,是这种啊。
我来说两句