資源描述:
《數(shù)組的三種排序方式和查找方式》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、數(shù)組的三種排序方式和查找方式數(shù)組的查找方式第一種(最簡單)普通查找:實現(xiàn)功能原理:獲取key第一次出現(xiàn)在數(shù)組中的位置。如果返回是-1,那么代表該key在數(shù)組中不存在,這種查找是從頭到后查找。代碼如下:publicclassSearchTest{publicstaticintsearch(int[]a,intkey){for(inti=0;i2、search(a,value);System.out.println(index);}}第二種二分查找(BinarySearch,折半查找):二分查找可以提高效率,但實現(xiàn)二分查找的條件是該數(shù)組必須是有序的數(shù)組。publicclassBinarySeachTest{publicstaticintbinarySearch(int[]a,intvalue){intlow=0;inthigh=a.length-1;intmiddle;while(low<=high){middle=(low+high)/2;for(inti=0;i3、i]);if(i==middle){System.out.print("#");}System.out.print("");}System.out.println();if(a[middle]==value){returnmiddle;}if(valuea[middle]){low=middle+1;}}return-1;}publicstaticvoidmain(String[]args){int[]i={1,2,3,4,5,6,7,8,9,12};intvalue=2;intindex=binarySearch(i
4、,value);System.out.println(index);}}數(shù)組排序選擇排序:原理:第一個和第二個,第三個等元素比,確定了最小值(最大值),再拿第二個和后面元素挨個比。一直到最后,最后一個不用比;所以就是arr[].length-1第一輪比完之后,開始第二輪就不考慮前面已經(jīng)放好的元素。所以,代碼如下:publicclassArraySort{publicstaticvoidsort(int[]a){for(inti=0;ia[j]){inttemp=a[i];a[i]=a
5、[j];a[j]=temp;}}}}publicstaticvoidmain(String[]args){intarr[]={2,7,4,8,3,9,5};sort(arr);for(inti=0;i6、){//-x;是讓每一次的比較元素減少-1:避免索引越界if(a[j]>a[j+1]){inttemp=a[j];a[j]=a[j+1];a[j+1]=temp;}}}}publicstaticvoidmain(String[]args){intarr[]={5,2,7,3,6,8,4,1};bundleSort(arr);for(inti=0;i7、aticvoidmain(String[]args){intarray[]={3,7,1,6,5,2,4,8,9};Arrays.sort(array);for(inti=0;i