java实现向有序数组中插入一个元素实例

整理文档,搜刮出一个java实现向有序数组中插入一个元素,稍微整理精简一下做下分享

package cn.jbit.array;
import java.util.*; 

public class Insert { 

  public static void main(String[] args) {
    //字符排序
    char[] chars = new char[9]; 

    chars[0] = 'a';
    chars[1] = 'c';
    chars[2] = 'u';
    chars[3] = 'b';
    chars[4] = 'e';
    chars[5] = 'p';
    chars[6] = 'f';
    chars[7] = 'z'; 

    System.out.print("原字符序列:");
    for(int i = 0; i < chars.length; i++){
      System.out.print(chars[i] + " ");
    }
    Arrays.sort(chars);   //对数组进行升序排序
    System.out.print("\n升序排序后:");
    for(int i = 0; i < chars.length; i++){
      System.out.print(chars[i] + " ");
    } 

    //实现插入字符
    int index = chars.length;  //保存新增成绩插入位置
    char ch='m';
    System.out.println("\n待插入的字符是: "+ch); 

    //找到新元素的插入位置
    for(int i = 0; i < chars.length; i++){
      if(ch < chars[i]){
        index = i;
        break;
      }
    }
     //元素后移
    for(int j = chars.length-1; j > index; j--){
      chars[j] = chars[j-1]; //index下标开始的元素后移一个位置
    }
    chars[index] = ch;//插入数据
    System.out.println("插入字符的下标是:"+index);
    System.out.print("插入后的字符序列是: ");
    for (int k = 0; k < chars.length; k++) { // 循环输出目前数组中的数据
      System.out.print(chars[k] + " ");
    } 

  } 

} 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • java 两个数组合并的几种方法

    本文介绍了java 两个数组合并的几种方法,分享给大家,也给自己留个笔记 需求:两个字符串合并(如果想去重复,参考下一篇--数组去重复及记录重复个数) //方法一 Arrays类 String[] a = {"A","B","C"}; String[] b = {"D","E"}; // List<String> list = Arrays.asList(a); --OK // List<

  • java实现把对象数组通过excel方式导出的功能

    一.导入相关jar包,pom依赖如下: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>RELEASE</version> </dependency> 二.开始撸代码 1.如果导出功能使用的比较多,可以将其做成一个工具类,对我下面贴出的代码进行改造 //结果返回的是写入的记录数(以下用的是自

  • java 输入一个数字组成的数组(输出该数组的最大值和最小值)

    一.需求分析: 1.输入一个数组----------------------------------------->程序要接收一组输入的数组,没有明确这组数组有多大 2.一个数字组成的数组-------------------------------->接收到的数组只能是数字 3.输出接收到数组的最大值和最小值-------------->得到最大和最小值 二.技术难点 1.怎么从用户输入获取到一个数字数组? 可以用BufferedReader类:从字符输入流中读取文本,缓冲各个字符,从

  • Java控制台输入数组并逆序输出的方法实例 原创

    输入一个数组,然后颠倒次序进行输出,这种算法在程序开发中经常用到,下面我们通过一个小实例来看看怎么实现在控制台输入一个数组,并让其逆序输出的. 源码: import java.util.Scanner; public class Test01 { public static void main(String[] args){ System.out.println("请输入五个数"); int[]l=new int [5]; for(int i=0;i<5;i++) l[i]=ne

  • Java中byte、byte数组与int、long的转换详解

    一.Java 中 byte 和 int 之间的转换源码: //byte 与 int 的相互转换 public static byte intToByte(int x) { return (byte) x; } public static int byteToInt(byte b) { //Java 总是把 byte 当做有符处理:我们可以通过将其和 0xFF 进行二进制与得到它的无符值 return b & 0xFF; } 测试代码: //测试 int 转 byte int int0 = 234

  • java 从int数组中获取最大数的方法

    首先要有数组的概念吧,知道什么是数组,简单讲就是存放一组数据的一个组合,就是一个数组....哈哈 已知一个int数组, 编程从数组中获取最大数. 思路分析: 1.一个数组可能有很多个数字,要取最大数,那就是一个数一个数的进行比较可以可以选出来了是吧 那么就是:先定义一个变量赋值为数组的第一个数,然后在和数组的第二.第三个数相比较,遇到比自己大的就将打的数值赋给这个变量,遍历到最后就可以了. 代码: package com.itheima; /** * 2. 已知一个int数组, 编程从数组中获取

  • java实现向有序数组中插入一个元素实例

    整理文档,搜刮出一个java实现向有序数组中插入一个元素,稍微整理精简一下做下分享 package cn.jbit.array; import java.util.*; public class Insert { public static void main(String[] args) { //字符排序 char[] chars = new char[9]; chars[0] = 'a'; chars[1] = 'c'; chars[2] = 'u'; chars[3] = 'b'; cha

  • C语言如何在字符数组中插入一个字符

    目录 在字符数组中插入一个字符 设计思路 问题思索 代码附录 字符串中插入字符问题 在字符数组中插入一个字符 以前都是照猫画虎,一直都没有自己亲自动手尝试过.这次亲自上阵,把自己的思路尽量理清并完成. 设计思路 定义一个字符数组a和标记插入位置的int型变量pos以及插入字符value. 再定义一个数组b,大小应该比a大1(更大当然更好),用于pos位后的元素的赋值. 赋值,将a中所有元素copy到b. 在pos位置前的元素不改动,pos位置的元素改为value.b[pos]=value; 对于

  • java去除已排序数组中的重复元素

    题目描述 给定一个已排序的数组,去除数组中的重复元素,只保留一个重复的元素,并且返回新的数组长度. 要求: 不要给数组分配额外的空间,你必须使用常量的内存大小进行原地操作. 例如: 给出数组A=[1,1,2],你的函数调用之后必须返回长度length=2,并且A现在变成[1,2]. 输入 一个已排序的数组,例如[1,1,2]. 输出 返回数组新的长度,例如length=2. 快慢指针法 设置fast指针遍历数组,slow指针指向不重复元素的下一位. public static int remov

  • 一篇文章告诉你如何在Java数组中插入一个字符

    目录 定义一个数组 定义插入的字符 打印插入之前字符排列顺序 假设插入位置 找到插入位置 数组数据下移 移入数值 输出数组 总结 定义一个数组 public class charInsert { public static void main(String[] args) { // 这是字符数组 char[] ch = new char[9]; ch[0] = 'a'; ch[1] = 'b'; ch[2] = 'c'; ch[3] = 'f'; ch[4] = 'g'; ch[5] = 'i'

  • 向一个数组中插入一个1~100的随机数

    namespace ConsoleApplication2 { class Program { static void Main(string[] args) { List<int> list = new List<int>(); Random ran = new Random(); while(true) { if (list.Count >= 100) { break; } int s = ran.Next(1, 101); if (!list.Contains(s))

  • C语言数组任意位置插入一个元素方法

    前言: 这篇文章我们来看看向C语言的数组中随机插入一个元素的方法. 如果是在python向列表中随机添加元素,我们往往使用insert()的方法. l = ['Python', 'C++', 'Java'] #插入元素 l.insert(1, 'C') print(l) #插入元组,整个元祖被当成一个元素 t = ('C#', 'Go') l.insert(2, t) print(l) #插入列表,整个列表被当成一个元素 l.insert(3, ['Ruby', 'SQL']) print(l)

  • java算法入门之有效的括号删除有序数组中的重复项实现strStr

    目录 1.LeetCode 20.有效的括号 题目 小编菜解 思路及算法 大神解法 2.LeetCode 26.删除有序数组中的重复项 题目 小编菜解初版 小编菜解改进版 思路及算法 大神解法 3.LeetCode 28.实现strStr 题目 小编菜解 大神解法 也许,我们永远都不会知道自己能走到何方,遇见何人,最后会变成什么样的人,但一定要记住,能让自己登高的,永远不是别人的肩膀,而是挑灯夜战的自己,人生的道路刚刚启程,当你累了倦了也不要迷茫,回头看一看,你早已不再是那个年少轻狂的少年. 1

  • java实现把两个有序数组合并到一个数组的实例

    如下所示: package com.test.sort; public class testMerge { public static void main(String[] args) { int[] a = { 1, 3, 5 }; int[] b = { 2, 3, 4, 7 }; merge m = new merge(); m.method(a, b); } } class merge { public void method(int[] a, int[] b) { int l = a.

  • C++实现LeetCode(34.在有序数组中查找元素的第一个和最后一个位置)

    [LeetCode] 34. Find First and Last Position of Element in Sorted Array 在有序数组中查找元素的第一个和最后一个位置 Given an array of integers nums sorted in ascending order, find the starting and ending position of a given target value. Your algorithm's runtime complexity

  • PHP实现找出有序数组中绝对值最小的数算法分析

    本文实例讲述了PHP实现找出有序数组中绝对值最小的数算法.分享给大家供大家参考,具体如下: 问题: 一个有序数组,值有可能有负值,也有可能没有,现需要找出其中绝对值最小的值. 方法1: 遍历数组,找到绝对值最小值,时间复杂度O(n),n为元素个数. 方法2: 二分查找,因为数组有序,可以利用二分查找,时间复杂度O(logn). 分析步骤: 1. 如果第一个数为正数,说明整个数组没有负数,直接返回第一个数 2. 如果最后一个数为负数,说明整个数组没有正数,直接返回最后一个数 3. 数组元素有正有负

随机推荐