I'm trying to sort a vector, which contain a structure. In this program i do't want to use any C++ Standard Template Library (STL) such as sort().
I tried this code
for (auto k = GTSlist.begin(); k != GTSlist.end(); k++)
{
for (auto l = GTSlist.begin()+1; l != GTSlist.end(); l++)
{
if(k->owner > l->owner)
{
auto tmp = k->owner;
k->owner = l->owner;
l->owner = tmp;
}
}
}
Print vector value
for (auto k = GTSlist.begin(); k != GTSlist.end(); k++)
{
cout << "\n print sorted vector k->owner =" << k->owner << "k->length =" << k->length ;
}
Declaration of structure
Struct Basic802154GTSspec
{
int owner;
int start;
int length;
}
Declaration of structure
vector <Basic802154GTSspec> GTSlist;
Inserting value in vector
// GTSlist.end()=5,length = 1,2,3,4,5 , owner= 5,1,4,2,3
for (auto k = GTSlist.begin(); k != GTSlist.end(); k++) {
Basic802154GTSspec newGTSspec;
newGTSspec.length = value shown above;
newGTSspec.owner = value shown above;
GTSlist.push_back(newGTSspec);
}
Expected result
print sorted vector k->owner k->length= 1,2; 2,4; 3,5; 4,3; 5,1
Actual result
print sorted vector k->owner k->length= 1,1; 5,2; 2,3; 4,4; 3,5