這是我第一次作爲C++初學者在此網站上發佈的文章。 我的問題很簡單。 編寫一個反轉向量中元素順序的函數。例如,1,3,5,7,9變爲9,7,5,3,1。逆函數 應產生具有相反序列的新矢量,保持其原始的 矢量不變。C++如何反轉向量中元素的順序?
這是我的代碼。當我運行它時,「打印」一詞之後沒有任何內容。我敢肯定,我在某個地方犯了一個愚蠢而簡單的錯誤,但卻搞不清楚。將不勝感激任何help.Cheers。
void reverse_a(const vector<int>&v1, vector<int>&v2)
{
//this function creates vector2 with the reverse sequence of elements from vector 1
for(int i=v1.size()-1;i<=0;--i)
{
v2.push_back(v1[i]);
}
}
void print(const vector<int>&v)
{
cout<<"Printing"<<endl;
for(int i=0;i<v.size();++i)
cout<<v[i]<<",";
cout<<"\n"<<"end of print.\n";
}
int main()
{
vector<int>v1;
vector<int>v2;
int input;
while(cin>>input)
v1.push_back(input);
reverse_a(v1,v2);
print(v2);
keep_window_open("`");
}
當你通過你的代碼調試步驟,會發生什麼? – tmyklebu 2014-09-24 06:15:32
請發佈[MCVE](http://stackoverflow.com/help/mcve)並刪除不相關的代碼。你的倒車功能有一個可疑的評論。你在那裏做什麼?另外,向量具有反向迭代器。和構造函數採用迭代器對。 – juanchopanza 2014-09-24 06:16:22
可能的重複[如何反轉C++向量?](http://stackoverflow.com/questions/8877448/how-do-i-reverse-ac-vector) – rold2007 2016-05-10 23:28:34