Advertisement
Guest User

Untitled

a guest
Feb 21st, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.51 KB | None | 0 0
  1. #ifndef __CHECK_ORDER__
  2. #define __CHECK_ORDER__
  3.  
  4. #include "Demo.h"
  5.  
  6. template <typename T> struct CheckOrder {
  7. T pred;
  8. int& u;
  9. CheckOrder(int& unsorted, T& first):pred(first), u(unsorted) { }
  10. virtual void operator()(T& e) {
  11. if (pred > e) {
  12. u++;
  13. pred = e;
  14. }
  15. }
  16. };
  17.  
  18.  
  19. template <typename T>
  20. void checkOrder(Demo<T>& D) {
  21. int unsorted =0;
  22. D.traverse(CheckOrder<T>(unsorted, D[0]));
  23. if (0 < unsorted) {
  24. printf("Unsorted with %d adjacent disordered pair(s)\n", unsorted);
  25. } else
  26. printf("Sorted\n");
  27. }
  28.  
  29. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement