나는 같은 형식의 모든 벡터를 특정 방식으로 결합하고자하는 문제가 있습니다. 내 결과 벡터의 첫 번째 요소를 내 목록의 첫 번째 벡터의 첫 번째 요소로, 두 번째 요소를 두 번째 벡터의 첫 번째 요소로, 세 번째 요소는 세 번째 요소로, 세 번째 요소는 세 번째 요소까지, n은 n까지 내 목록의 길이이고 요소 n + 1이 첫 번째 벡터의 두 번째 요소 여야합니다. 완료 될 때까지 반복됩니다.목록의 벡터 요소를보다 효율적으로 액세스하는 방법은 무엇입니까?
현재,이처럼 일을 오전 : values
는 CharacterVectors
의 List
입니다
CharacterVector measure(nrows * expansion);
CharacterVector temp(nrows);
for(int i=0; i < measure.size(); i++){
temp = values[i % expansion];
measure[i] = temp[i/expansion];
}
return(measure);
합니다. 이것은 매우 비효율적이며, 매번 temp
을 덮어 쓰지 만, values
에있는 요소에 액세스하는 더 좋은 방법을 모른다. C++을 많이 알지는 못하지만 더 나은 방법이 있어야한다고 생각합니다.
모든 도움을 주시면 대단히 감사하겠습니다.
EDIT : values
'모든 벡터는 동일한 길이의 nrows
하고 values
그것에 expansion
요소를 갖는다.
값이란 무엇입니까? – Ashalynd
우선, 문자 벡터 목록을 수정할 수 있다면 항상 myvector = mylist.front(); 및 mylist.pop_front(); 나중에. 벡터를 사전 구성 할 수 있으며이 벡터의 요소, 즉 벡터 [0], 벡터 [n + 1] 등의 위치를 쉽게 알 수 있습니다. 여기서 n은 mylist.size()입니다. 여기서 목록의 각 벡터는 동일한 크기를 갖는다 고 가정합니다. – cageman
임의 액세스 연산자 목록이 있습니까? –