给定一个数组 num ,编写一个函数将数组内部的数字0都移动到数组的末尾,同时保持非零元素的相对顺序!
同时不能通过复制数组,开辟新的数组空间的情况下原地对数组进行操作


本题的特点就是给定一个数组,让我们直接在数组上进行操作,将数组进行划分或者把数组分区这类操作!
使用两个指针:cur、dest,将数组划分成三块区域:待处理区域、非0区域、元素0区域
让指针在移动的同时保持三个区域不进行改变,那么当待处理区域消失后,整个数组就会变成非0区域和元素0区域。
cur将区域划分为处理过的区域和待处理的区域
dest将处理过的区域划分为非0区域和元素0区域




这里for中的cur++配合了下面的if如果遇到0元素向前移动,在这里指的是如果没有出发if中的非0条件,自动++
如果触发到了if中的非0条件,直接dest向前移动, 然后交换,其中dest向前移动写在了交换内容中,而遇到非0时dest++和cur++中的cur++是写在了for中