Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package tarefa06;
- public class KVector<Type extends Comparable<Type>> {
- Type[] vector;
- @SuppressWarnings("unchecked")
- KVector(){
- vector = (Type[]) new Object[2];
- }
- public void putSort(Type element) {
- boolean find = false;
- for (int i = vector.length/2; find==false; ) {
- if (element.compareTo(vector[i+1])>0 && element.compareTo(vector[i])<0){
- moveAfter(i);
- vector[i+1]=element;
- find = true;
- }
- else if ((element.compareTo(vector[i+1]) > 0) && (element.compareTo(vector[i]) > 0)){
- i = i + i/2;
- }
- else {
- i/=2;
- }
- }
- }
- @SuppressWarnings("unchecked")
- private void moveAfter(int limit){
- Type[] temp = (Type[]) new Object[vector.length+1];
- for(int i=0; i<limit; i++){
- temp[i] = vector[i];
- }
- for(int i=limit+2; i<temp.length; i++) {
- temp[i+2] = vector[i];
- }
- vector = temp;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement