首页 > 学院 > 开发设计 > 正文

在已有序的数组中插入一个数,数组仍然保持有序

2019-11-06 09:20:30
字体:
来源:转载
供稿:网友
直接上代码:
public class Test{    public static void main(String args[])    {        //原有序数组,这里约定数组是升序排列        int[] intArray = new int[]{1,2,3,5,6,7,8};                int toInsert = 4;//待插入数据                int subscript = 0;//下标                //确定下标位置        if(toInsert < intArray[0])        {            subscript = 0;        }        else if(toInsert > intArray[intArray.length - 1])        {            subscript = intArray.length;        }        else        {            //循环,确定插入下标位置            for(int i=0; i<intArray.length; i++)            {                if(toInsert == intArray[i])                {                    subscript = i;                }                if(toInsert > intArray[i] && toInsert < intArray[i+1])                {                    subscript = i +1;                }            }        }                //定义新数组,将toInsert数据插入数组中        int[] newArray = new int[intArray.length + 1];        for(int i=0; i<intArray.length+1; i++)        {            if(i < subscript)            {                newArray[i] = intArray[i];            }            if(i == subscript)            {                newArray[i] = toInsert;            }            if(i > subscript)            {                newArray[i] = intArray[i-1];            }        }                //打印插入数据后的新数组        for(int i : newArray)        {            System.out.PRintln(i);        }        System.out.println("插入下标为:" + subscript);    }}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表