#include <iostream>
#include <list>
#include <vector>
using namespace std;
class portfolio {
public:
portfolio() {
_id = 0;
gain_ = 0;
}
portfolio(int id, int gain) {
_id = id;
gain_ = gain;
}
portfolio(const portfolio& obj) {
_id = obj._id;
gain_ = obj.gain_;
}
int _id;
int get_gain() const {
return gain_;
}
void set_gain(int gain) {
gain_ = gain;
}
private:
int gain_;
};
int main()
{
vector<list<portfolio>> rothschild;
list<portfolio> cow;
list<portfolio> star;
list<portfolio> dog;
list<portfolio> que;
rothschild.push_back(cow);
rothschild.push_back(star);
rothschild.push_back(dog);
rothschild.push_back(que);
for(int i = 1; i < 10; i++) {
int gain = 5;
portfolio cowCompany(i, gain);
rothschild[0].push_back(cowCompany);
gain = 10;
portfolio starCompany(i*10, gain);
rothschild[1].push_back(starCompany);
gain = 1;
portfolio dogCompany(i*100, gain);
rothschild[2].push_back(dogCompany);
gain = 3;
portfolio queCompany(i*1000, gain);
rothschild[3].push_back(queCompany);
}
cout << "Finish Constructing" << endl;
/*-Reverse Range queCompany-*/
list<portfolio> tempRev;
list<portfolio> tempRemain;
int id = 3;
//--Reverse at index 4-7
int start = 3;
int end = 6;
list<portfolio>::iterator fit = rothschild[id].begin();
list<portfolio>::iterator bit = rothschild[id].begin();
advance(fit, start);
advance(bit, end);
cout << "Slicing" << endl;
rothschild[id].splice(tempRemain.begin(), rothschild[id], bit, rothschild[id].end());
rothschild[id].splice(tempRev.begin(), rothschild[id], fit, rothschild[id].end());
tempRev.reverse();
rothschild[id].splice(rothschild[id].end(), tempRev);
rothschild[id].splice(rothschild[id].end(), tempRemain);
/*-Reorder Cow-*/
list<portfolio> tempOdd;
list<portfolio> tempEven;
int size = rothschild[0].size();
for(int i = 0; i < size; i++) {
portfolio obj;
obj = rothschild[0].front();
rothschild[0].pop_front();
if(obj._id % 2 == 0) {
//Even
tempEven.push_back(obj);
} else {
tempOdd.push_back(obj);
}
}
rothschild[0].splice(rothschild[0].begin(), tempEven);
rothschild[0].splice(rothschild[0].end(), tempOdd);
/*-Remove Odd dogCompany-*/
rothschild[2].remove_if([](portfolio & obj) {return ((obj._id/100)%2) == 1;});
for(auto &i : rothschild) {
for(auto &j : i){
cout << j._id << endl;
}
}
cout << "Temp: " << endl;
for(auto &i : tempRev) {
cout << i._id << endl;
}
return 0;
}
In this notespace, I will share my original journey of thinkering with IoT. The mission is to create a monitoring system to gather data from a drying device and save it into a datasheet.
Mar 29, 2025Programmer
Mar 17, 2025Strategy is a plan of change to achieve an objective
Sep 15, 2024Basic control requirements:
Jul 31, 2024or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up