当前位置: 首页 > news >正文

Java基础编程练习第33题-有序数组插入元素

题目:给定一个长度为n+1的整型数组和一个整数x,前n+1个元素有序,此时需要插入一个元素x,在该数组中插入x后该数组仍有序。

举例:

输入:1,3,5,7,0        2

输出:1,2,3,5,7

我们来思考一下这道题:我们可以从后往前遍历,如果当前数组值<=待插入元素,则该位置之后就是待插入数的位置

public class demo7 {
    public static void main(String[] args){
        int[] arr=new int[]{1,3,5,7,0};
        int x=2;
        int len = arr.length;
        if(arr[0]>x){
            for(int j=len-2;j>=0;j--){
                arr[j+1]=arr[j];
            }
            arr[0]=x;
        }
        for(int i=len-2;i>=0;i--){
            if(arr[i]<=x){//找到位置
                for(int j=len-2;j>=i+1;j--){
                    arr[j+1]=arr[j];
                }
                arr[i+1]=x;
                break;
            }
        }
        for(int val:arr){
            System.out.println(val);
        }
    }
}

这道题没有输入数组,而是建立一个已知数组。

使用new关键字创建数组:

int[] arr=new int[]{1,3,5,7,0};

相关文章:

  • 【嵌入式】ESP_01S智能家居:可二次开发式智能灯控/门禁,勾勒智能生活新图景
  • 基于Python pyscard库采集ACS ACR122U NFC读卡器数据的详细操作步骤
  • AI日报 - 2025年3月18日
  • java,poi,提取ppt文件中的文字内容
  • Launcher3 Hotseat区域动态插入All Apps按钮实现方案
  • 理解Akamai EdgeGrid认证在REST API中的应用
  • 数字孪生概念及示例【清晰易懂】
  • 【并发编程】synchronized 的底层原理
  • 微服务》》Kubernetes (K8S)安装
  • go语言学习教程推荐,零基础到做项目
  • 【JavaScript】一、JS的引入与输入输出
  • 0基础 | 直流稳压电源专题3
  • 牛客竞赛记录——小紫的优势博弈(Python3题解)
  • CentOS 7 更换 YUM 源为国内
  • 高中信息技术学科核心素养评价体系的构建与实践研究
  • RESTful API 简介与使用
  • 数据结构——排序
  • 【探寻C++之旅】第九章:二叉搜索树
  • GetX 中GetView、GetXController 和 Bindings的联合使用
  • minikube部署Go应用
  • 尹锡悦宣布退出国民力量党
  • 老字号“逆生长”,上海制造的出海“蜜”钥
  • 女子七年后才知银行卡被盗刷18万元,警方抓获其前男友
  • 缅甸内观冥想的历史漂流:从“人民鸦片”到东方灵修
  • 巴菲特谈卸任CEO:开始偶尔失去平衡,但仍然保持敏锐的头脑,仍打算继续工作
  • 北斗专访|特赞科技范凌:现在AI主要是“说话”,接下来要“干活”了