Java(数组与算法)

之前的Java基础的学习耽搁了好久,最近也没啥事做,继续之前的学习进度吧。这次内容主要是Java数组的知识点,和冒泡、选择排序这两个算法,还有一个二分查找法。

1.数组

  • 数据类型:引用类型

  • 数据结构:线性结构

  • 可存储任意数据类型元素,存储的元素类型统一

  • 数组长度不可改变,一旦创建,即固定,可创建多维数组

  • 优劣: 1.查询效率高 2.增删元素效率低

  • 初始化方式:

1.静态初始化

int [] arr={10,12,31};

2.动态初始化

int [] arr=new int[3];

2.冒泡排序法

  • 每次只比较相邻的两个数

  • 需要保证每次循环的最后一个数字(已经确定是最大的那个数)不会再参与下一次循环

int temp;
int[]a={3,2,1,4,5};

for(int i=1;i

3.选择排序法

  • 找出最小值,然后这个最小值和最前面的数据交换位置
int min;
int[]a={3,2,1,4,5};

for(int i=0;i<4;i++){
  for(int j=i+1;j<5;j++){
    if(a[i]>a[j]){
      min=a[j];
      a[j]=a[i];
      a[i]=min;
    }
  }
}

4.二分法查找

  • 二分法查找是建立在已经排序的基础之上的。

  • 这个数组中没有重复的元素

public static int half(int[]a,int destElement){
        int begin=0;
        int end=a.length-1;
        int mid;

        while(begindestElement){
                end=mid-1;
            }else if(a[mid]

5.Java内置数组方法

  • 数组的拷贝:System.arraycopy(src, srcPos, dest, destPos, length);

  • 数组排序:Arrays.sort(arr);

  • 二分法查找法:Arrays.binarySearch(a, key);


你可能感兴趣的:(Java(数组与算法))