/Users/19826/Downloads/IA - Brian/src/ia/brian/SortAndSearchStudents.java
  1 package ia.brian;
  2 
  3 /*
  4  * To change this license header, choose License Headers in Project Properties.
  5  * To change this template file, choose Tools | Templates
  6  * and open the template in the editor.
  7  */
  8 
  9 /**
 10  *
 11  * @author 19826
 12  */
 13 public class SortAndSearchStudents {
 14     public void sortByTuteeName(Tutee[] tutees) {
 15         int n = tutees.length;
 16         boolean sorted = false;
 17         while (!sorted) {
 18             n--; 
 19             sorted = true;  
 20             for (int i=0; i < n; i++) {
 21                 if (tutees[i].getName().compareTo(tutees[i+1].getName()) > 0 ) {
 22                     Tutee temp = tutees[i];  
 23                     tutees[i] = tutees[i+1];  
 24                     tutees[i+1] = temp;
 25                     sorted = false; 
 26                                     
 27                 }
 28             }
 29         }
 30     }
 31     public void sortByTutorTime(Tutor[] tutors) {
 32         int n = tutors.length;
 33         boolean sorted = false;
 34         while (!sorted) {
 35             n--; 
 36             sorted = true;  
 37             for (int i=0; i < n; i++) {
 38                 if (tutors[i].getName().compareTo(tutors[i+1].getName()) > 0 ) {
 39                     Tutor temp = tutors[i];  
 40                     tutors[i] = tutors[i+1];  
 41                     tutors[i+1] = temp;
 42                     sorted = false; 
 43                                     
 44                 }
 45             }
 46         }
 47     }
 48     public Tutor TutorSearch(Tutor tutors[], String key){
 49         //Pre-condition: Tutor Array has to be sorted
 50         //Post-conditin: Searched tutor is returned
 51         int low =0;
 52         int high = tutors.length -1;
 53         while(low <= high){               
 54             int mid = (low + high) / 2;
 55             if(tutors[mid].getName().equals(key)){
 56                 return tutors[mid]; 
 57             }
 58             else if(tutors[mid].getName().equals(key)){
 59                 low = mid + 1; 
 60             }
 61             else{
 62             high = mid -1;
 63             }            
 64         }
 65         Tutor dummy = new Tutor();
 66         return dummy;
 67     }
 68     public int TuteeSearch(Tutee tutees[], String key){
 69         //Pre-condition: Tutee Array has to be soorted
 70         //Post-conditin: Searched tutee is returned
 71         int low =0;
 72         int high = tutees.length-1;
 73         while(low <= high){               
 74             System.out.println(low);
 75             System.out.println(high);
 76             int mid = (low + high) / 2;
 77             if(tutees[mid].getName().equals(key)){
 78                 return mid; 
 79             }
 80             else if(tutees[mid].getName().equals(key)){
 81                 low = mid + 1; 
 82             }
 83             else{
 84             high = mid - 1;
 85             }            
 86         }
 87         return -1;
 88     }
 89     
 90     public int TuteeSequentialSearch(Tutee tutees[], String key){
 91 
 92         for(int i = 0; i < tutees.length; i++){
 93             if(tutees[i].getName().equals(key)){
 94                 return i;
 95             }
 96         }
 97         return -1;
 98     }
 99     public int TutorSequentialSearch(Tutor tutors[], String key){
100 
101         for(int i = 0; i < tutors.length; i++){
102             if(tutors[i].getName().equals(key)){
103                 return i;
104             }
105         }
106         return -1;
107     }
108     public int returnWeekDayIndex(String day){
109         if(day.equals("Mon")){
110             return 1;
111         }
112         else if(day.equals("Tue")){
113             return 2;
114         }
115         else if(day.equals("Wed")){
116             return 3;
117         }
118         else if(day.equals("Thu")){
119             return 4;
120         }
121         else if(day.equals("Fri")){
122             return 5;
123         }
124         else{
125             return 0;
126         }
127     }
128     
129     
130 }
131