fork(1) download
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. using namespace std;
  5.  
  6. void my_sort(int id[], double netpay[], int n) {
  7. typedef std::pair<int, double> data_pair_t;
  8. std::vector<data_pair_t> data;
  9. for (int i = 0; i < n; i++) {
  10. data.push_back(make_pair(id[i], netpay[i]));
  11. }
  12. sort(data.begin(), data.end(), [](data_pair_t a, data_pair_t b) {
  13. return a.second < b.second;
  14. } );
  15. for(int i = 0; i < n; i++) {
  16. id[i] = data[i].first;
  17. netpay[i] = data[i].second;
  18. }
  19. }
  20.  
  21.  
  22. int main() {
  23. int id[] = {11111, 22222, 33333};
  24. double netpay[] = {456.78, 891.01, 112.13};
  25. int n = end(id)-begin(id);
  26.  
  27. cout << "Before sorting\n";
  28. for(int i = 0; i < n; ++i) {
  29. cout << id[i] << "\t" << netpay[i] << endl;
  30. }
  31. cout << "\n\nAfter sorting\n";
  32.  
  33. my_sort(id, netpay, n);
  34.  
  35. for(int i = 0; i < n; ++i) {
  36. cout << id[i] << "\t" << netpay[i] << endl;
  37. }
  38. return 0;
  39. }
Success #stdin #stdout 0s 3416KB
stdin
Standard input is empty
stdout
Before sorting
11111	456.78
22222	891.01
33333	112.13


After sorting
33333	112.13
11111	456.78
22222	891.01