much implementation, ready for first test
This commit is contained in:
@@ -1,5 +1,55 @@
|
||||
package Sorting;
|
||||
|
||||
//import java.util.Arrays;
|
||||
//import java.util.List;
|
||||
|
||||
public class InsertionSorter extends Sorter{
|
||||
|
||||
public InsertionSorter(String filename){
|
||||
super("insertion", filename);
|
||||
}
|
||||
|
||||
void sort(){
|
||||
int insertionValue;
|
||||
for(int i=1;i<numbers.length;i++){
|
||||
insertionValue=numbers[i];
|
||||
insert(i, insertionValue);
|
||||
}
|
||||
}
|
||||
|
||||
private void insert(int index, int ins){
|
||||
for(int i=index-1;i>=0;i--){
|
||||
int comp = compare(ins,numbers[i]);
|
||||
if(comp<0){
|
||||
if(i==0){
|
||||
numbers[i+1]=numbers[i];
|
||||
numbers[i]=ins;
|
||||
}
|
||||
else{
|
||||
numbers[i+1]=numbers[i];
|
||||
}
|
||||
}
|
||||
else{
|
||||
numbers[i+1]=ins;
|
||||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
*This method uses a List for simple insertion
|
||||
*But I want to go C-style and just do array manipulation
|
||||
void sort(){
|
||||
List<Integer> nums = Arrays.asList(numbers);
|
||||
for(int i=1;i<nums.size();i++){
|
||||
int j=0;
|
||||
while((j<i)&&(nums.get(i).compareTo(nums.get(j))>0)){
|
||||
j++;
|
||||
}
|
||||
if(j!=i){
|
||||
swapsUsed++;
|
||||
nums.add(j, nums.remove(i));
|
||||
}
|
||||
}
|
||||
nums.toArray(numbers);
|
||||
}*/
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user