java排序算法的比较

GetPro 贡献于2013-01-11

作者 微软中国  创建于2010-05-31 13:41:00   修改者微软用户  修改于2010-04-26 02:40:00字数5267

文档摘要:java排序算法的比较
关键词:

java排序算法的比较 import java.util.*; import java.io.*; public class SortAlgorithm { static Random rand = new Random(); void bubbleSort(int[] numlist) // 冒泡排序算法 { int temp; for(int j=1;jnumlist[i+1]) { temp = numlist[i+1]; numlist[i+1] = numlist; numlist = temp; } } void selectionSort (int[] numlist) //选择排序算法 { int temp; for(int i=0;inumlist[j]) { temp = numlist[j]; numlist[j] = numlist; numlist = temp; } } void insertSort (int[] numlist) //插入排序算法 { int temp,in,out; for(out=1;out0 && numlist[in-1]>=temp) { numlist[in]=numlist[in-1]; --in; } numlist[in]=temp; } } void display (int[] num) // 打印出排序结果 { for(int i = 0;i tempList=new ArrayList(); tempList.add(new Member("Bill",22)); tempList.add(new Member("Cindy",23)); tempList.add(new Member("Douglas",24)); tempList.add(new Member("Felex",25)); tempList.add(new Member("Hill",26)); for(Member member:tempList){ System.out.println("成员"+member+"的下标为"+binSearch(members,member)); } } /** *//** * 二分查找 * @param sortedArray 已排序的欲查找的链表 * @param seachValue 查找的值 * @return 找到的元素下标,若找不到则返回-1 */ public static int binSearch(List sortedList,Member seachValue){ // 左边界 int leftBound=0; // 右边界 int rightBound=sortedList.size()-1; // 当前下标位置 int curr; while(true){ // 定位在左边界和右边界中间 curr=(leftBound+rightBound)/2; if(sortedList.get(curr).equals(seachValue)){ // 找到值 return curr; } else if(leftBound>rightBound){ // 左边界大于右边界,已经找不到值 return -1; } else{ if(sortedList.get(curr).compareTo(seachValue)<0){ // 当当前下标对应的值小于查找的值时,缩短左边界 leftBound=curr+1; } else{ // 当当前下标对应的值大于查找的值时,缩短右边界 rightBound=curr-1; } } } } } 选择排序 public class NumSort{ public static void main(String[] args){ int[] a=new int[args.length]; for(int i=0;i

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 3 金币 [ 分享文档获得金币 ] 3 人已下载

下载文档