开发工具与关键技术:VS软件,顺序表的插入
作者:陈隆
撰写时间:2020年04月21日
说到新增和就肯定会想起以前做的新增中的新增,其实本文讲的插入和也是和c#中的差不多的操作吧,只不过就是代码部分的差别吧。虽然是差不多的但是这里讲的是只适合顺序表中的操作,顺序表也就是表中的元素是按顺序来存放好的,地址是连续的,不能存在断续的,如果都不满足以上的两个条件那么就肯定不能使用本方法来实现插入的,如果顺序表中的元素没有按照顺序存放的而使用顺序表的插入方法操作那就肯定是会有问题的,所以这个方法只适合已经排好序的顺序表使用。这个就不像c#中的增删查改几乎可以适应所有的数据表中,可能这就是其中的一些不同吧。那么下面就先使用动态图来演示一下插入的过程,那么就直接上图片更好的体现出效果。
(未插入数据图)
从上图可以看到这就是代表着一个表中的数据是按照顺序存放好的,地址是连续在一起的,这时就肯定有很多人会有那么一个疑问了,就是在如何在表中插入数据呢,插入数据后表中的数据是否就不能连在一起了呢。其实这些别人都已经设置好的了,我们只需要使用别人开发者已经做好的代码就可以实现在顺序表中进行数据的插入了,那么再来看一下使用代码在顺序表中插入数据后的图片,一起来看一下到底是怎样把数据插入到顺序表中的。
(插入数据后图)
上图中可以看到已经插入了一个新元素X而这个元素是重后面开始找自己需要插入的位置的,而不是从前面开始的,就是这样从后面开始,所以需要把后面的元素往后移动一个元素的位置才可以把需要插入的元素插入到设定的位置中,必须先把后面的数据往后移动一个元素的位置才可以。这样把需要插入的元素的位置空出来后就可以把元素插入到该插入的位置了。如果是从前面开始移动元素就会把后面的元素给冲掉,冲掉就会造成元素丢失,丢失的元素就会找不回来的,这样是不可取的。这里的方法虽然是看着和C#中的新增数据是同一个操的,可是这就是一个有一些不一样的新增,这个插入也可以说跟C#中的新增是完全不一样的,因为新增也就是在数据表中的尾部新增一条数据的,而本插入法就可以在任何的地方插入一条数据,反正都是往数据表中新增数据,而方法有一些不一样,可能这就是应对了,同一个功能给多个人打出来的代码都是不怎么可能一样的,可能这就是代码中的奇妙之处吧。 那么下面看一下操作的代码到底是怎样写的。(插入元素代码图)
上图的代码就是顺序表的插入的主要代码,代码中的括号中就是需要插入的元素,object就是需要把需要插入的数据插入到第几位,这里根据需要来填写就可以了,这里还需要根据数据表中来填写的,填写的必须是数据库表中是可以操作的,否则没有的话就操作不了了,然后就是一个for循环了吧,size就是元素的个数,然后到i这个位置的后面的元素都往后移一个元素,目的就是把后面的元素往后移一个位置,把需要插入的元素的位置空出来,这样才可以把需要插入的元素插入到设定好的位置中,如果不先把后面的元素往后移那么是不可能直接插入元素的,就是这样的所以直接把后面的元素直接往后移就可以了,因为定位是在设定的位置的前一位的,所以后面的元素可以直接往后移动了,不需要再给设定的位置留出一个元素位置了,这就是需要在定位的时候必须要在对应的位置前一位定好位,这就是这样的用处的,然后就是需要把需要的元素赋值到需要插入的位置中,最后表中的数据要加加。然后还可以用图解来可以更好的看懂整个过程。(图解图)
上图就可以更好的看出插入的对比了,就这样就可以完成顺序表中的元素插入了。