学习目标:
1、对算法有一个基本的了解
2、能够完成数组内元素移动的简单算法
各位小伙伴们大家好:
在学编程的队伍中一直流传着这样的自白,什么“从入门到放弃”啦,什么“从入门到崩溃”啦。
这些自白充分反映广大菜鸟们在学习编程路上的真实感受,可谓言简意赅,直观形象。
而我想这其中有一部分原因大概可能也许或者就是:“算法”。
当然,过早的接触“算法”确实会让人有“学到放弃”、“学到崩溃”的冲动。
所以为了避免大家出现“还没入门就放弃”的情况,我们的算法会注重一个循序渐进的过程。
本期为大家分享的是,实现一个数组元素依次向前挪动一个位置的功能。
首先我们来个简单的,交换数组中的两个元素的位置。
参考代码如下:
这个简单的算法和我们之前交换两个变量的值是一样的。
对这个例题有什么不懂的可以回头去看我们第一季的内容。
下面我们来个数组元素更多的例题,它的目标是将第一个元素挪到末尾,而其他元素依次往前挪一个位置。
当然,还是分步实现,不过我们一般将这种方法称之为迭代升级。
上面的代码主要分两部分:
第6-9行实现数组元素的循环赋值。
第12-15实现数组元素的循环输出。
没有涉及问题的核心——交换位置,所以应该不难理解。
接下来我们就来完成这个聊了这么久都还见着面的小小算法。
其实它的核心就是第20行。
是的,就是这一行,只是这一行在for循环中,所以执行了10次。
效果就是从第2位开始,不断地将后面一位覆盖前面一位的值。
当然第23行也很重要,它将第一个元素的值直接交给第10个元素。
为了便于大家理解,下面我做了一个数据替换的示意图。
所以整个一次前移的算法步骤如下:
第一步:现将a[0]元素用另外一个单独的变量保存。
第二步,使用for循环,依次将后面的元素前移。
第三步,将变量中保存的a[0]元素的值直接赋给最后一个元素。
本期的内容就为大家简单介绍到这里,我们下期再会。
戳此进入直播课程
LIVE
历
少儿编程scratch直播课程总结(二)
史
少儿编程C++第二季——08、这就是算法之按图索骥——查找
文
重磅推荐!免费的少儿编程直播课,不学白不学,学了不白学
章
强烈推荐!少儿编程12款编程软件一网打尽够用12年
友情推荐小学数学必考之“浓度问题”[分分钟涨知识]黄金比例流水问题-速度叠加
系列课程按纲编写