public class bsearch ;
陣列長度為1000以上,已知"rose"為陣列中其中乙個字串,排列在未知位置,請用最快速度查詢該字串所在的索引
*/public static void main(string args) ;
// 這裡定義乙個字串 可以很靈活的查詢 任字串
string str1="rose";
// 先進行排序
stringbubble(str);
// 排序後輸出
printstr(str);
// 找到其索引
int index=seach(str,str1);
system.out.println(index);
}private static void printstr(string strs)
system.out.println();
system.out.print("找該字串所在的索引為: ");
}private static int seach(string strs, string str1)
// 往前折半查詢
if(strs[mid].compareto(str1)>0)
else
continue;
}// 往後折半查詢
else if(strs[mid].compareto(str1)<0)else
continue;
}// 找到了
else if(strs[mid].compareto(str1)==0)
}return 0;
}public static string stringbubble(string arr) }}
return arr;
}public static void swap(string arr, int a, int b)
}
二分排序(java)
基本思想就是 將待排序元素分成大小大致相同 的兩個子集合,分別 對兩個子集合進行排序,最終將排好序的子集合合併成所要求的排好序的集合。package com.suanfa 二分排序 author administrator public class merge 合併陣列 public void co...
演算法 二分排序
二分排序這個詞是我在面試中遇到的,當時第一反應是二分查詢,然後被打斷,是二分排序演算法,最終才了解到,二分排序就是我們熟知的歸併排序。它又稱二路排序。首先說一下歸併的思想 先將一組數列,數列中含有n個元素,假設將每乙個元素看成是乙個有序的數列,就是n個有序的子串行,每個子串行的長度為1,然後倆倆合併...
二分排序演算法
bool check int x 檢查x是否滿足某種性質 區間 l,r 被劃分成 l,mid 和 mid 1,r 時使用 intbsearch 1 int l,int r return l 區間 l,r 被劃分成 l,mid 1 和 mid,r 時使用 intbsearch 2 int l,int ...