数组练习题
已知有一个升序的数组,要求插入有个元素,该数组顺序依然是升序,比如:[10,12,45,90],添加23后,数组为[10,12,23,45,90]
//index是数字插入的位置,遍历时,index = i //遍历数组,如果发现insertNum <= arr[i],说明i就是要插入的位置 //如果遍历完后,没有发现insertNum <= arr[i],说明index = arr.length,即将插入的数字排到最后 Scanner sc = new Scanner(System.in); int[] arr = {10,12,45,90}; int[] arrNew =new int[arr.length + 1]; System.out.println("请输入您要插入的数字"); int num = sc.nextInt(); int index = -1 ; for(int i = 0 ; i < arr.length ; i++){ if (num <= arr[i]){//如果插入的数字,小于下标为i的数字,那么此处就是num要插入的位置 index = i;//记录要插入的位置 break; } } for(int i = 0 , j = 0 ; i < arrNew.length ; i++){ if (i != index) { //如果每走到要插入的位置,那么将旧数组的内容插入新数组,同时j代表旧数组的遍历,j往前走一位,这种情况也包括插入发生在最后一位,前面的全部拷贝就数组的内容。 arrNew[i] = arr[j]; j++; }else{ arrNew[i] = num; } } arr = arrNew; //重定向将新数组指向原来的数组; System.out.println("========插入后的新数组========"); //遍历数组 for (int i = 0 ; i < arr.length ; i++){ System.out.print(arr[i]+" "); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律