修改了插入元素的方法
This commit is contained in:
parent
80550d66de
commit
cf07ae7747
@ -5,6 +5,7 @@ package array;
|
|||||||
* 2)数组中的数据是int类型的;
|
* 2)数组中的数据是int类型的;
|
||||||
*
|
*
|
||||||
* Author: Zheng
|
* Author: Zheng
|
||||||
|
* modify: xing
|
||||||
*/
|
*/
|
||||||
public class Array {
|
public class Array {
|
||||||
//定义整型数据data保存数据
|
//定义整型数据data保存数据
|
||||||
@ -27,6 +28,35 @@ public class Array {
|
|||||||
return data[index];
|
return data[index];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//插入元素:头部插入,尾部插入
|
||||||
|
public boolean insert(int index, int value){
|
||||||
|
//数组中无元素
|
||||||
|
|
||||||
|
//if (index == count && count == 0) {
|
||||||
|
// data[index] = value;
|
||||||
|
// ++count;
|
||||||
|
// return true;
|
||||||
|
//}
|
||||||
|
|
||||||
|
// 数组空间已满
|
||||||
|
if (count == n) {
|
||||||
|
System.out.println("没有可插入的位置");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// 如果count还没满,那么就可以插入数据到数组中
|
||||||
|
// 位置不合法
|
||||||
|
if (index < 0||index > count ) {
|
||||||
|
System.out.println("位置不合法");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// 位置合法
|
||||||
|
for( int i = count; i > index; --i){
|
||||||
|
data[i] = data[i - 1];
|
||||||
|
}
|
||||||
|
data[index] = value;
|
||||||
|
++count;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
//根据索引,删除数组中元素
|
//根据索引,删除数组中元素
|
||||||
public boolean delete(int index){
|
public boolean delete(int index){
|
||||||
if (index<0 || index >=count) return false;
|
if (index<0 || index >=count) return false;
|
||||||
@ -45,41 +75,6 @@ public class Array {
|
|||||||
--count;
|
--count;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
//向数组中插入一个元素
|
|
||||||
public boolean insert(int index, int value){
|
|
||||||
if (index<0 || index>=count) return false;
|
|
||||||
//当实际存储的个数等于数组的最大长度就不让新增
|
|
||||||
if (count == n) return false;
|
|
||||||
//数组长度增加1。不需要初始化
|
|
||||||
/*int[] arr = new int[count+1];
|
|
||||||
for (int i = 0; i < data.length; i++) {
|
|
||||||
arr[i] = data[i];
|
|
||||||
}
|
|
||||||
data=arr;*/
|
|
||||||
|
|
||||||
for (int i = count-1; i>=index; --i){
|
|
||||||
data[i+1] = data[i];
|
|
||||||
}
|
|
||||||
data[index] = value;
|
|
||||||
++count;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean insertToTail(int value) {
|
|
||||||
|
|
||||||
//当实际存储的个数等于数组的最大长度就不让新增
|
|
||||||
if (count == n) return false;
|
|
||||||
//数组长度增加1
|
|
||||||
/*int[] arr = new int[count+1];
|
|
||||||
for (int i = 0; i < data.length; i++) {
|
|
||||||
arr[i] = data[i];
|
|
||||||
}
|
|
||||||
data=arr;*/
|
|
||||||
data[count++] = value;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void printAll() {
|
public void printAll() {
|
||||||
for (int i = 0; i < count; ++i) {
|
for (int i = 0; i < count; ++i) {
|
||||||
System.out.print(data[i] + " ");
|
System.out.print(data[i] + " ");
|
||||||
@ -87,6 +82,17 @@ public class Array {
|
|||||||
System.out.println();
|
System.out.println();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
ArrayOperate array = new ArrayOperate(5);
|
||||||
|
array.printAll();
|
||||||
|
array.insert(0, 3);
|
||||||
|
array.insert(0, 4);
|
||||||
|
array.insert(1, 5);
|
||||||
|
array.insert(3, 9);
|
||||||
|
array.insert(3, 10);
|
||||||
|
//array.insert(3, 11);
|
||||||
|
array.printAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user