ADoyle4

Untitled

Mar 27th, 2012
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. class Date {
  2.  
  3. private int day, month, year;
  4.  
  5. Date (int day0, int month0, int year0) {
  6. day = day0; month = month0; year = year0;
  7. }
  8.  
  9. Date() {}
  10.  
  11. void get() {
  12. day = Console.readInt();
  13. month = Console.readInt();
  14. year = Console.readInt();
  15. }
  16.  
  17. void put() {
  18. System.out.printf("%02d/%02d/%02d\n", day, month, year);
  19. }
  20.  
  21. void compare(Date d){//(i)
  22. if(year<d.year){
  23. return true;
  24. }
  25. else if(year==d.year&&month<d.month){
  26. return true;
  27. }
  28. elseif(year==d.year&&month<d.month&&day<d.day){
  29. return true;
  30. }
  31. else return false;
  32. }
  33.  
  34. }
  35.  
  36. class SortDates {
  37.  
  38. private static void sort(Date[] ds, int n) {
  39. // Sort array ds[0..n-1] using insertion sort
  40. int j = 0; // ds[j..] to be sorted
  41. while (j<n-1) {
  42. // find minimum in ws[j..]
  43. int min = j; int i = j+1;
  44. // ds[min] is minimum in ds[j..i-1]
  45. while (i<n) {
  46. if (ds[i].compare(ds[min]))) { //(ii)
  47. min = i;
  48. }
  49. i++;
  50. }
  51. // ds[min] is minimum in ds[j..]
  52. // swap ds[j] and ds[min]
  53. Date temp = ds[j]; ds[j] = ds[min]; ds[min] = temp;
  54. // advance
  55. j++;
  56. }
  57. }
  58.  
  59. public static void main(String[] args) {
  60. Date[] days = new Date[1000]; //
  61. int n = 0; // days[0..n-1] significant
  62. while (!Console.endOfFile()) {
  63. days[n]=new Date();
  64. days[n].get();
  65. n++;
  66. }
  67. sort(days,n); // sort entries
  68. // print dates in ascending order
  69. for (int i=0; i<n; i++)
  70. days[i].put();
  71. }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment