前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java数组常用算法

Java数组常用算法

作者头像
切图仔
发布2022-09-14 16:03:55
3700
发布2022-09-14 16:03:55
举报
文章被收录于专栏:生如夏花绚烂
数组反转

代码语言:javascript
复制
String[] arr = new String[]{"a","b","c"};
for(int i = 0 ;i < arr.length;i++){
    String tem = arr[i];
        arr[i] = arr[arr.length - i - 1];
        arr[arr.length - i - 1] = tem;
}
//cba
线性查找
代码语言:javascript
复制
String[] arr = new String[]{"a","b","c"};
String target = "a";
for(int i = 0 ;i < arr.length;i++){
    if(target.equals(arr[i])){
             System.out.print("找到指定元素,位置为"+i);
                 break;
        }
}
二分法查找

前提:数组必须有序

代码语言:javascript
复制
int[] arr = new int[]{1,2,3,4,5,6,7,8,9,10};
        //线性查找
        int num = 2;
        int start = 0; //初始首索引
        int end = arr.length - 1; //初始尾索引
        
        while(start <= end){
            int middle = (start + end) / 2;
            if(num == arr[middle]){
                System.out.print("查找到该元素位置为"+middle);
                break;
            }else if(arr[middle] > num){
                end = middle -1;
            }else{
                start = middle + 1;
            }
        }
冒泡排序

基本思想:通过对待排序序列从前向后,依次比较相邻元素的排序码,若发现逆序则交换,使排序码较大的元素逐渐从前部移向后部。

代码语言:javascript
复制
int[] arr = new int[]{1,2,3,4,5,6,7,8,9,10};
        
        for(int i = 0; i<arr.length-1;i++){
            
            for(int j = 0; j<arr.length - 1 - i;j++){
                if(arr[j] < arr[j+1]){
                    int tem = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = tem;
                }
            }
        }

........

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-11-06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数组反转
  • 线性查找
  • 二分法查找
  • 冒泡排序
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档