起初:道歉我不那么流利的英语,我是一个17岁的德国;-)如何在Perl中重新排列数组索引?
我做我徒弟作为一个Web开发者,只是偶然发现了一个问题:
我需要重新排列数组的索引。该阵列基本上是这样的:
@array = ('a', 'b', 'c');
但是:它是动态变化的,所以它不总是有3个要素的事,但20多个。现在,我需要做的是得到它:
@array = ('c', 'a', 'b');
所以,我想我只是需要做这样的事情(在for循环,对于每一个元素循环一旦在阵列和增量$计数器)
my $last = $array[$#array];
for($#array)
{
$array[$counter] = $array[$counter + 1];
unshift(@array, $last);
pop(@array);
$counter++;
}
我认为它会做到这一点:
对于数组中的每个元素(可以说,我们在元素0):Set element index = element index + 1;然后将最后一个数组添加到开头,然后移除现在的“真正的”最后一个数组(这只是现在开始的一个副本)。然后加1到计数器并重做数组。但它并没有真正做我想要的。
嗯,这是我的“新手”尝试,如此反复,这就是我只需要:
我需要“移动”的所有元素的数组+1的指标,并切断了最后一个再到在开始时。也许更复杂的是,数组长度只是可变的。
在另一种形式: 我需要把
('a', 'b', 'c', 'd', ... 'z');
到
('z', 'a', 'b', 'c', ... 'y');
Ive得到了不知道如何继续下去,我希望得到任何帮助。
感谢:-)
已经感谢您的anwers!我忘了说星期一之前我不能测试它,因为我现在不工作了,现在我也没有与我联系。但是,谢谢,我确定至少有一个解决方案可以工作!
对不起。我只是写了那个在我脑海里的家。原来,我只是用push来填充数组(它完全像我想要的那样)。 – 2011-02-04 16:28:53