Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logic 从末端向中心遍历列表_Logic_Traversal - Fatal编程技术网

Logic 从末端向中心遍历列表

Logic 从末端向中心遍历列表,logic,traversal,Logic,Traversal,假设我有这样一个列表: [4,5,7,2,3,1,9] 我希望它的遍历是这样的: 4,9,5,1,7,3,2 有人能分享解决方案吗?解决方案可以是语言不可知的——甚至伪代码也可以 我想到的一个解决方案是创建一个双端队列,并从备用端将元素出列。但问题是,我想多次遍历这个列表,退出队列将删除这些元素以备将来使用。是否有其他解决方案可以避免我在每次按所需顺序遍历队列之前复制队列?如何: i = 0; j = arr.size() - 1; while(i < j){ print(arr

假设我有这样一个列表:

[4,5,7,2,3,1,9]

我希望它的遍历是这样的:

4,9,5,1,7,3,2

有人能分享解决方案吗?解决方案可以是语言不可知的——甚至伪代码也可以

我想到的一个解决方案是创建一个双端队列,并从备用端将元素出列。但问题是,我想多次遍历这个列表,退出队列将删除这些元素以备将来使用。是否有其他解决方案可以避免我在每次按所需顺序遍历队列之前复制队列?

如何:

i = 0;
j = arr.size() - 1;

while(i < j){
    print(arr[i++]);
    print(arr[j--]);
}
// center still needs to be printed
if(i == j){
    print(arr[i]);
}
i=0;
j=阵列尺寸()-1;
而(i