数组

xiaoxiao2021-03-01  20

如何声明数组

double [] array;声明一维数组

double [] [] array;声明二维数组

数据类型+[]+.....此处代表n(n>=0)个[]....+数组名;

实例化数组的两种方法

申请内存空间时指定数组长度:array = new double [10];数组名 = new 数据类型 [ 数组最大容纳数据个数 ]

穷举法 array = new double [] {1,2,3,4,5} ; 数组名 = new 数据类型 [] {穷举元素}

声明时就用穷举法

double [] array = {1,2,3}; 不可 array={1,2,3};

double [] array =  new double []{1,3,4,5}; array = new double [] {1,2,3,4};

两种遍历方式:

第一种:

for (int i = 0; i < array.length; i++) { System.out.print(array[i]+"\t"); }

第二种:

for (double a : array) { System.out.print(a+"\t"); }

两种排序方法:

冒泡排序:

package paixu; public class paixu_1 { public static void main(String[] args) { int [] array= {9,7,8,3,4}; for(int time=1;time<array.length;time++) { for(int i=0;i<array.length-time;i++) { int numberb=array[i]; int numbera=array[i+1]; if(numberb>numbera) { array[i]=numbera; array[i+1]=numberb; } } } for (int i : array) { System.out.println(i); } //冒泡排序 } }

插入排序:

package paixu; public class paixu_2 { public static void main(String[] args) { int [] array = {5,5,4,4,3,2,1}; for (int i = 1; i < array.length; i++) { int data=array[i]; int j=0; for(;j<i;j++) { if(array[i]<array[j]) break; } if(i==j) { continue; } for(int k=i;k>j;k--) { array[k]=array[k-1]; } array[j]=data; } for (int i : array) { System.out.print(i+"\t"); } } }

折半查找法

package paixu; public class erfenfa { public static void main(String[] args) { int [] array = {1,2,3,4,5}; int data=2; int low=0; int high=array.length-1; while(low<=high) { int middle=(low+high)/2; if(data<array[middle]) { high=middle-1; }else if(data>array[middle]) { low=middle+1; }else { System.out.println(middle); break; } } } }

 

转载请注明原文地址: https://www.6miu.com/read-4149969.html

最新回复(0)