Hej, Kom på hur man gör: Exakt. Vidare är det också en trevlig konvention att inte kräva att det är just vektor.Bubble Sort int och struct
gjort bubble sort så jag kan sortera en vektor med int, char, etc...
Men antag att jag vill sortera en vektor med structer istället? Hur gör jag då? Kan jag använda samma bubble sort eller måst jag göra om den?
struct Item { int key; int value; };
value är unikt meddans key inte är det.
template <class Type>
void Algorithms<Type>::BubbelSort(vector<Type> &a, int l, int r) {
Type tmp;
for(int i=0;i<r;i++) {
for(int j=r;j>i;j--) {
if (a[j-1] < a[j]) {
tmp = a[j];
a[j] = a[j-1];
a[j-1] = tmp;
}
}
}
};Sv: Bubble Sort int och struct
struct Item {
int key; int value;
bool operator> (const Item& rhs) const { if(value>rhs.value) return true; else return false;};
bool operator< (const Item& rhs) const { if(value<rhs.value) return true; else return false;};
};Sv:Bubble Sort int och struct
Du skulle lätt kunna utvidga den till att ta alla som kan indexeras med [], eller bara använda iteratorer.
För övrigt brukar key vara unik och inte value...