能不能分析一下这个代码详细一点

img

首先你要知道,这个代码是要遍历你的数组的,左指针left和右指针right一个加加一个减减,然后等到左大于右的时候就跳出循环,等于说整个数组都遍历完了,这是最外面的while,然后一开始的时候left<right这个条件三个while都是满足的,所以你要看中间两个while的条件,如果左边取余2不等于0就左加加,那等于说左边要是是个偶数循环就进不去,然后再看第二个while右边要是个奇数就进不去,那现在两个循环都停下的条件就是左指针指向一个偶数,右指针指向一个奇数,然后再把他们交换,知道数组遍历完成,那这个函数的功能就是把奇数放到左边偶数放到右边