JAVA 泛型练习

二分查找:

public class Q212 {
	public static void main(String [] args) {
		Integer []arr = {1,2,3,4,5,6,7,8};//Integer型比较
		System.out.println(Q212.<Integer>Erfen(arr, 5));
		
		String []arr1 = {"a","b","c","d","e","f","g"};//String型比较
		System.out.println(Q212.<String>Erfen(arr1, "d"));
		
		Double []arr2 = {3.1,4.3,5.4,6.5,7.3,8.1,9.2,10.7};//Double型比较
		System.out.println(Q212.<Double>Erfen(arr2, 9.2));
	}
	
	public static <E extends Comparable<E>> int Erfen(E []list,E index) {
		int first = 0;
		int last = list.length - 1;
		int mid;
		
		while(first<=last) {
			mid = first + (last - first)/2;
			if(list[mid].compareTo(index) == 0)
				return mid;
			if(list[mid].compareTo(index) < 0)
				first = mid + 1;
			if(list[mid].compareTo(index) > 0)
				last = mid - 1;
		}
		return -1;
	}
}

选择排序:

public class Q213 {
	public static void main(String []args) {
		Integer []arr = {5,4,1,6,2};
		Q213.<Integer>selectionSort(arr);
		for(int i = 0;i < arr.length; i++)
			System.out.print(arr[i]+" ");
	}
	
	public static <E extends Comparable<E>> void selectionSort(E []list) {
		int i,j;
		for(i = 0;i < list.length-1; i++/*,System.out.println("nihao")*/)
			for(j = i+1;j < list.length; j++)
				if(list[j].compareTo(list[i]) < 0)
					//swap(list[i],list[j]);
				{
					//System.out.println(list[i]+" "+list[j]);
					E m = list[i];
					list[i] = list[j];
					list[j] = m;
				}
		//for(i = 0;i < list.length; i++)
			//System.out.print(list[i]+" ");
	}
	/*
	public static <E>void swap(E x,E y) {
		E m;
		m = x;
		x = y;
		y = m;
	}*/

}

插入排序:

public class Q214 {
	public static void main(String []args) {
		Integer []arr = {2,3,6,1,8,3};
		Q214.<Integer>insertionSort(arr);
		
		for(int i=0;i<arr.length;i++) {
			System.out.print(arr[i]+" ");
		}
	}
	
	public static <E extends Comparable<E>> void insertionSort(E []list) {
		int i,j;
		for(i = 1;i<list.length;i++)
			for(j=0;j<i;j++)
				if(list[i].compareTo(list[j])<0) {
					E m = list[i];
					for(int p = i-1; p>=0; p--)
						list[i--] = list[p];
					list[i] = m;
				}
	}
}


posted @ 2015-03-09 10:14  __夜风  阅读(526)  评论(0编辑  收藏  举报