*
* Created on June 26, 2012, 11:06 AM
*/
+
#include "kruskalwalliscommand.h"
//**********************************************************************************************************************
while ( it != vec.end() ) {
j = rank;
oldit = it;
- if (!equalvalue(*it, *it+1)) { *it->rank = rank; rank=rank+1; it++; }
+ if (!equalvalue(*it, *(it+1))) {
+ (*it).rank = rank;
+ rank = rank+1;
+ it++; }
else {
- while(equalrank(*it, *it+1)) {
- j = j + (j+1.0);
+ while(equalrank(*it, *(it+1))) {
+ j = j + (j+1);
rank++;
it++;
}
numRanks = double (distance(oldit, it));
avgRank = j / numRanks;
while(oldit != it) {
- *oldit->rank = avgRank;
+ (*oldit).rank = avgRank;
oldit++;
}
}
}
+
}
catch(exception& e) {
- bool comparevalue(const groupRank &a, const groupRank &b) { return a.value < b.value; }
- bool equalvalue(const groupRank &a, const groupRank &b) { return a.value == b.value; }
- bool comparerank(const groupRank &a, const groupRank &b) { return a.rank < b.rank; }
- bool equalrank(const groupRank &a, const groupRank &b) { return a.rank == b.rank; }
- bool equalgroup(const groupRank &a, const groupRank &b) { return a.group == b.group; }
+ static bool comparevalue(const groupRank &a, const groupRank &b) { return a.value < b.value; }
+ static bool equalvalue(const groupRank &a, const groupRank &b) { return a.value == b.value; }
+ static bool comparerank(const groupRank &a, const groupRank &b) { return a.rank < b.rank; }
+ static bool equalrank(const groupRank &a, const groupRank &b) { return a.rank == b.rank; }
+ static bool equalgroup(const groupRank &a, const groupRank &b) { return a.group == b.group; }
};