1、数组的删除:
原理:将要删除位置前的元素存到另一个新开辟的数组中,然后在赋值原数组中跳过删除位置的元素继续复制,最后返回一个新数组,就是删除之后的新数组了。
/**
* 有一个长度是10的数组,要求删除某一个位置的元素,后边元素前置。
*
* ***@author John 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9
*/
public class Demo042_05 {
// 删除数组中指定位置的元素
public int[] delectElem(int[] a, int pos) {
int[] b = new int[ - 1];
for (int i = 0; i < pos; i++) {
b[i] = a[i];
}
for (int j = pos + 1; j < ; j++) {
b[j - 1] = a[j];
}
return b;
}
public static void main(String[] args) {
int[] a = { 1, 3, 2, 6, 5, 8, 12, 9 };
Demo042_05 d = new Demo042_05();
int[] b = (a, 7);
for (int temp : b) {
(temp + " ");
}
}
}
2、数组的插入
原理:先对数组进行排序,再查找要插入数字的位置,最后新开皮一个数组进行复制,到要插入的位置时,插入这个数,之后再进行复制旧数组,最后返回新数组。
import ;
/**
* 有一个长度是10的数组,按递增排列,用户输入一个数, 插入适当位置
*/
public class Demo042_06 {
static int insertNum = 0;
// 对给定数组进行排序,从小到大
public void sortArr(int[] a) {
for (int i = 0; i < - 1; i++) {
int k = i;
for (int j = i + 1; j < ; j++) {
if (a[k] > a[j]) {
k = j;
}
}
if (k != i) {
int temp = a[k];
a[k] = a[i];
a[i] = temp;
}
}
}
/**
* 在给定数的有序组中,查找元素所在位置,若所找元素没有且元素比数组第一个数字小则返回0,否则返回数组长度。
*
* ***@param a
* ***@param aim
* ***@return
*/
public int searchPos(int[] a, int aim) {
for (int i = 0; i < ; i++) {
if (a[i] == aim) {
return i;
}
}
for (int
数组的插入、删除、查询相关操作整理 来自淘豆网www.taodocs.com转载请标明出处.