how to sort arr in struct

i have
struct mido
{
int wage,boss;
};
arr[0].wage=5 , arr[0].boss=0
arr[1].wage=2 , arr[1].boss=2
arr[2].wage=4 , arr[2].boss=1
arr[3].wage=3 , arr[3].boss=0
arr[4].wage=2 , arr[4].boss=2
i want to sort arr[].boss at same time each parallel value from arr[].wage go with to be
arr[0].wage=5 , arr[0].boss=0
arr[1].wage=3 , arr[1].boss=0
arr[2].wage=4 , arr[2].boss=1
arr[3].wage=2 , arr[3].boss=2
arr[4].wage=2 , arr[4].boss=2

how can i do this ???? or can i do it with sort function in algorithm.h??
You can do it really easily with the sort() function, but you probably would want to implement some sort of custom comparison (see the examples on this website here: http://cplusplus.com/reference/algorithm/sort/ regarding how to do this).

Best of luck! And... by the way, it's just <algorithm>.

-Albatross
Last edited on
plz give me code on sorting it becz the link doesn't have code on sorting an array struct
Okay, I'll give you a hint.

std::sort(array,array+length);

Best of luck!

-Albatross
if you want use STL and write a general code you need define first your operator < or > for sortin like :
1
2
3
4
5
6
7
8
9
10
11
bool operator <(const mido &l, const mido &r)
{
      return l.boss < r.boss;
}

//then you can use sort STL like :

sort(arr, arr + sizeof(arr) / sizeof(arr[0]));

if you work with array in stl some time may be take warning so you must use 
checked_array_iterator in namespace of stdext and header file iterator


in this algorithm arr is array of contain "mido"
Last edited on
Topic archived. No new replies allowed.