首页 / JAVA / java-按顺序插入数组
java-按顺序插入数组
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-按顺序插入数组,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1482字,纯文字阅读大概需要3分钟。
内容图文
简单来说,我正在处理的项目的一部分是让我按顺序降序排列一个数组并添加一个元素,以使该数组保持按序排列.最初,我认为将元素添加到数组中,然后在实现Comparable之后进行排序会很简单,但是后来发现禁止使用任何类型的排序算法.以及收藏.有点关于如何从这里进行的想法,有什么提示吗?
例如:
int[] x = [ 7, 6, 6, 5, 3, 2, 1 ]
add 4
[ 7, 6, 6, 5, 4, 3, 2, 1 ]
澄清地说我并不是完全没有想法,只是有效率的想法.到目前为止,我能得出的结论是:
int[] bigger = new int[x.length];
int add = 4;
for (int i = 0; i < bigger.length; i++){
if ( add > x[i] && add < x[i+1]){
bigger[i] = x[i];
bigger[i+1] = add;
else{
bigger[i] = x[i];
}
}
我知道它将为x引发IndexOutOfBounds错误,但是我觉得必须有一个比这更简单的方法,对吗?
解决方法:
实际上,只有一个for循环可以实现您的功能.
int[] x = {7, 6, 6, 5, 3, 2, 1 };
//Declare an int array with length = x.length+1;
int[] bigger = new int[x.length+1];
int add = 4;
/** Define a variable to indicate that if a property location is found.*/
boolean found = false;
/** Define a variable to store an index for insert*/
int indexToInsert = 0;
for (int i = 0; i < x.length; i++){
if ( !found && add >= x[i]){
found = true;
indexToInsert = i;
bigger[indexToInsert] = add;
i--;
}
else{
if(found)
{
bigger[i+1] = x[i];
}else
{
bigger[i] = x[i];
}
}
}
/*
* If a property index is not found. Then put the value at last.
*/
if(!found)
{
indexToInsert = x.length;//
bigger[indexToInsert] = add;
}
一些示例如下运行:
初始数组为[7、6、6、5、3、2、1]
加= 4
[7, 6, 6, 5, 4, 3, 2, 1]
加= -1
[7, 6, 6, 5, 3, 2, 1, -1]
加= 100
[100, 7, 6, 6, 5, 3, 2, 1]
内容总结
以上是互联网集市为您收集整理的java-按顺序插入数组全部内容,希望文章能够帮你解决java-按顺序插入数组所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。