Java的知识点18——数组存储表格数据、冒泡排序的基础算法、冒泡排序的优化算法、二分法查找
生活随笔
收集整理的這篇文章主要介紹了
Java的知识点18——数组存储表格数据、冒泡排序的基础算法、冒泡排序的优化算法、二分法查找
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數組存儲表格數據
package cn.dym08; import java.util.Arrays; public class Test09 {public static void main(String []args) {Object []a1= {1001,"止小兮",18,"神仙","2000-10-1"};Object []a2= {1002,"代止兮",18,"草呀","2001-12-16"};Object []a3= {1003,"瑾修",18,"狐貍","2001-11-15"};Object [][] emps=new Object[3][];emps[0]=a1;emps[1]=a2;emps[2]=a3;System.out.println(Arrays.toString(emps[0]));System.out.println(Arrays.toString(emps[1]));System.out.println(Arrays.toString(emps[2]));} }冒泡排序的基礎算法
package cn.dym08; import java.util.Arrays; public class Test10 {public static void main(String[] args) {int [] a= {1,45,41,6,2,6,56,452,12};bubbleSort(a);System.out.println(Arrays.toString(a));}//從小到大排序public static void bubbleSort(int [] values) {int temp;for(int i=0;i<values.length-1;i++) { //只進行n-1趟循環 就能把這堆數給排好序for(int j=0;j<values.length-1-i;j++) { //values.length-1-i 表示最后一個位置的下標if(values[j]>values[j+1]) {temp=values[j];values[j]=values[j+1];values[j+1]=temp;}}}} }冒泡排序的優化算法
package cn.dym08; import java.util.Arrays; public class Test11 {public static void main(String[] args) {int [] a= {1,45,41,6,2,6,56,452,12};bubbleSort(a);System.out.println(Arrays.toString(a));}public static void bubbleSort(int[] values) {int temp;int i;//外層循環:n個元素排序,則至多需要n-1趟循環for(i=0;i<values.length-1;i++) {//定義一個布爾類型的變量,標記數組是否已達到有序狀態boolean flag=true;//內層循環:每一趟循環都從數列的前兩個元素開始進行比較,比較到無序數組的最后//每進行一趟外層循環,無序數組的個數就會減一for(int j=0;j<values.length-1-i;j++) {if(values[j]>values[j+1]) {temp=values[j];values[j]=values[j+1];values[j+1]=temp;//本趟發生了交換,表明該數組在本趟處于無序狀態,需要繼續比較flag=false;} }if(flag) {break;}}} }二分法查找
package cn.dym08; import java.util.Arrays; public class Test12 {public static void main(String[] args) {int [] arr= {1,45,41,6,2,6,56,452,12};int searchWord=45;//所要查找的數Arrays.sort(arr);//使用二分法查找之前,一定要對數組元素進行排序System.out.println(Arrays.toString(arr));System.out.println(searchWord+"元素的索引:"+binarySearch(arr,searchWord));}//二分法查找:主要是取相應的中間數與要查找的數進行比較,之后再做出相應的調整。//循環退出的就是low>high時public static int binarySearch(int [] array,int value) {int low=0;int high=array.length-1;while(low<=high) {int middle=(low+high)/2; // / 表示只取余數if(value==array[middle]) {return middle; //返回查詢到的索引位置}if(value>array[middle]) {low=middle+1;}if(value<array[middle]) {high=middle-1;}}return -1; } }總結
以上是生活随笔為你收集整理的Java的知识点18——数组存储表格数据、冒泡排序的基础算法、冒泡排序的优化算法、二分法查找的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java的知识点17——java.uti
- 下一篇: Java的知识点19——异常机制Exce