void BuildTimeline(long BoyTimes[MAX_PARTICIPANTS / 2][2], long GirlTimes[MAX_PARTICIPANTS / 2][2], TimeData Timeline [MAX_PARTICIPANTS], int NumberOfBoys, int NumberOfGirls) { bool DebugBuild = false; int iterator = 0; Person iteratorPerson; for (int i = 0; i < NumberOfBoys; i++) { iteratorPerson.SetValue(i, true); Timeline[iterator].SetValue(BoyTimes[i][0], iteratorPerson, true); iterator++; Timeline[iterator].SetValue(BoyTimes[i][1], iteratorPerson, false); iterator++; } for (int i = 0; i < NumberOfGirls; i++) { iteratorPerson.SetValue(i, false); Timeline[iterator].SetValue(GirlTimes[i][0], iteratorPerson, true); iterator++; Timeline[iterator].SetValue(GirlTimes[i][1], iteratorPerson, false); iterator++; } // (time, id, isboy, startingTime) int length = 2 * (NumberOfGirls + NumberOfBoys); if (DebugBuild) { cout << endl << endl; PrintTimeline(Timeline, length); cout << endl << endl; } MergeSortTimeline(Timeline, 0, length - 1); if (DebugBuild) PrintTimeline(Timeline, length); }
void SetValue(TimeData timeData) { Time = timeData.Time; Identity.SetValue(timeData.Identity); IsStartingTime = timeData.IsStartingTime; }
void SetValue(int time, Person identity, bool isStartingTime) { Time = time; Identity.SetValue(identity); IsStartingTime = isStartingTime; }