栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【第24天】给定一个长度为 n 的数组,将元素 X 插入数组指定的位置 | 数组插入操作

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【第24天】给定一个长度为 n 的数组,将元素 X 插入数组指定的位置 | 数组插入操作

本文已收录于专栏
《Java入门一百例》

学习指引
  • 序、专栏前言
  • 序、本章前言
  • 一、【例题1】
    • 1、题目描述
    • 2、解题思路
    • 3、模板代码
    • 4、代码解析
  • 三、推荐专栏
  • 四、课后习题

序、专栏前言

   本专栏开启,目的在于帮助大家更好的掌握学习Java,特别是一些Java学习者难以在网上找到系统地算法学习资料帮助自身入门算法,同时对于专栏内的内容有任何疑问都可在文章末尾添加我的微信给你进行一对一的讲解。
   但最最主要的还是需要独立思考,对于本专栏的所有内容,能够进行完全掌握,自己完完全全将代码写过一遍,对于算法入门肯定是没有问题的。
   算法的学习肯定不能缺少总结,这里我推荐大家可以到高校算法社区将学过的知识进行打卡,以此来进行巩固以及复习。
  学好算法的唯一途径那一定是题海战略,大量练习的堆积才能练就一身本领。专栏的任何题目我将会从【题目描述】【解题思路】【模板代码】【代码解析】等四板块进行讲解。

序、本章前言

  除了数组的删除操作,还应该掌握数组的插入操作,数组的插入操作也与删除类似。

一、【例题1】 1、题目描述

  给定一个整数长度为 n ( 1 ≤ n ≤ 1 e 5 ) n(1le n le1e5) n(1≤n≤1e5),数组下标从 [ 1 , n ] [1,n] [1,n],请你实现一个函数,返回将 x x x插入第 y y y位后的数组,如果 y y y超出数组长度则接在末尾(数组保证足够长)。

2、解题思路
  • ( 1 ) (1) (1)类比删除操作来考虑,我们需要可以将下标 [ y , n ] [y,n] [y,n]的元素都向后移动一格,然后再将 x x x赋值给第 y y y位即可。
3、模板代码
static void test(int[] arr,int v,int y,int n){
        for (int i = n+1; i >=y+1; i--) {
            arr[i]=arr[i-1];
        }
        arr[y]=v;
}
static void test(int[] arr,int v,int y,int n){
        if (n + 2 - (y + 1) >= 0) System.arraycopy(arr, y + 1 - 1, arr, y + 1, n + 2 - (y + 1));
        arr[y]=v;
    }
4、代码解析
  • ( 1 ) (1) (1)同删除原理可以使用System.arratcopy函数
三、推荐专栏
《零基础学算法100天》
四、课后习题
序号题目链接难度评级
1 按既定顺序创建目标数组2
 学习有疑问?
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/987646.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号