मुझे क्या करना कोशिश कर रहा हूँ:एक वेक्टर को दो छोटे सरणी में विभाजित करने का सबसे अच्छा तरीका?
मैं दो अलग विन्यास में, एक वेक्टर विभाजित करने के लिए कोशिश कर रहा हूँ। वर्तमान int वेक्टर में टेक्स्ट फ़ाइल में प्रति पंक्ति एक तत्व होता है। पाठ फ़ाइल यादृच्छिक पूर्णांक की एक सूची है।
मैं कैसे यह करने के लिए योजना बना रही है:
मेरे वर्तमान विचार दो नियमित पूर्णांक सरणियों बनाने के लिए, उसके बाद पूरे वेक्टर से अधिक पुनरावृति और सरणियों से प्रत्येक के लिए n/2 तत्वों कॉपी करने के लिए है।
मैं जानना चाहूंगा क्या:
मेरे कार्य को पूरा करने की सबसे खूबसूरत तरीका क्या है? मुझे एहसास है कि मैं वेक्टर पर कई बार फिर से बिना इसे कर सकता हूं।
कोड:
#include <vector>
#include <fstream>
#include <iterator>
#include <iostream>
using namespace std;
vector<int> ifstream_lines(ifstream& fs)
{
vector<int> out;
int temp;
while(fs >> temp)
{
out.push_back(temp);
}
return out;
}
vector<int> MergeSort(vector<int>& lines)
{
int split = lines.size()/2;
int arrayA[split];
int arrayB[split];
}
int main(void)
{
ifstream fs("textfile.txt");
vector<int> lines;
lines = ifstream_lines(fs);
return 0;
}
धन्यवाद :)
मैं '' हैडर (http से कुछ की सलाह देते हैं /en.cppreference.com/w/cpp/algorithm)। 'std :: copy' या' std :: move' रुचि का हो सकता है। –
मुझे पसंद है कि सवाल कैसे पूछा जाता है। आपको नए उपयोगकर्ताओं से अक्सर इस तरह के अच्छे संरचित प्रश्न नहीं दिखते हैं। – MOnsDaR
यदि आप 2 सरणी के आकार को बदलने की योजना नहीं बनाते हैं, तो आप 'array_view' – sp2danny