美文网首页
Java(数组与算法)

Java(数组与算法)

作者: 尼禄祭 | 来源:发表于2019-04-19 16:04 被阅读0次

之前的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<a.length;i++){
    for(int j=0;j<a.length-i;j++){
            if(a[j]<a[j+1]){
                temp=a[j];
                a[j]=a[j+1];
                a[j+1]=temp;
            }
    }
}

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(begin<end){
            mid=(begin+end)/2;
            if(a[mid]==destElement){
                return mid;
            }else if(a[mid]>destElement){
                end=mid-1;
            }else if(a[mid]<destElement){
                begin=mid+1;
            }
        }

        return 0;
}

5.Java内置数组方法

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

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

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


相关文章

  • Hash算法

    数据结构与算法分析:大纲数据结构:数组算法:hash算法算法:排序算法Java实现 1 Hash算法? 将任意长度...

  • Java(数组与算法)

    之前的Java基础的学习耽搁了好久,最近也没啥事做,继续之前的学习进度吧。这次内容主要是Java数组的知识点,和冒...

  • 数据结构必备代码

    目录: 排序算法 树的遍历 查找 链表插入 数组与列表转化 二维数组排序 java中输入 集合遍历 一、基本排序1...

  • Android高级开发面试题

    一、Java 基础相关 1.1 数据结构与算法 1.1.1 常用的数据结构有哪些? 1.1.2 数组 (1).如何...

  • JAVA算法-数组

    数组是一种很常见的数据结构,知道索引,可以快速定位到具体元素,然而,数组中添加和删除元素会很慢,下面讲讲关于数组的...

  • Java数据结构与算法初级篇之数组、集合和散列表

    Java数据结构与算法初级篇之数组、集合和散列表> 数据是基础,算法是灵魂 本文出自门心叼龙的博客,属于原创类容,...

  • 2019-07-19数据结构

    计算机本来没有算法先有编码,后有数据结构,然后有可算法 基础数据结构 数组 java 内置 顺序存储数组的缺点,...

  • Java数组冒泡算法与添加删除算法

    1.冒泡算法 升序算法: 降序算法: 注意!这里降序算法的输出打印方法要改成逆序打印 冒泡排序简介(从小到大排序)...

  • 工作消失而面试却长存的算法与数据结构

    工作消失而面试却长存的算法与数据结构: 优秀的算法和数据结构被封装到了Java的集合框架之中 数据结构考点: 数组...

  • 数组 - Array

    新建数组 数组的下标是从0开始 Java中,访问数组注意是否越界 打擂台算法Example:找出数组中前两大的数 ...

网友评论

      本文标题:Java(数组与算法)

      本文链接:https://www.haomeiwen.com/subject/eqqcgqtx.html