我正在尝试实现一个将对象数组移动到数组右侧的函数。我在互联网上发现的只是循环轮班的实现,但这不是我想要的。如果右侧实际上有空白空间,我想将元素向右移动。假设您创建了一个对象 Packet 数组,其大小为 10
Packet* a[] = { p4 , p3 , p2 , p1, null, null, null, null, null, null }
移位功能只会将所有内容向右移动
{ null ,p4 , p3 , p2 , p1, null, null, null, null, null }
并且在数组末尾有一个元素的情况下
{ p10, p9, p8, p7 ,p6 ,p5 ,p4 , p3 , p2 , p1}
该功能不会改变任何东西。
{ p4 , p3 , p2 , p1, null, null, null, null, null, null }
我的实现想法是将数组复制到一个临时数组中,擦除原始数组上的所有内容,然后复制到其中,但从位置 [1] 而不是位置 [0] 开始。但这似乎不是很有效。
还有其他想法吗?