import java.util.*;

/**
 * An abstract class for sorting algorithms
 * 
 * @author dave
 * @date 2/7/2009
 */
public abstract class AbstractSorter<E extends Comparable<E>>{
	abstract public void sort(ArrayList<E> list);
	
	/**
	 * Swap two elements in the ArrayList
	 * 
	 * @param data data array
	 * @param index1 first element to be swapped
	 * @param index2 second element to be swapped
	 */
	protected void swap(ArrayList<E> data, int index1, int index2){
		E temp = data.get(index1);
		data.set(index1, data.get(index2));
		data.set(index2, temp);
	} 
}
