public class ArryShuzu {
public static Integer[] arr = new Integer[10];
public static int element;
/**
* 删除元素
* @param i
* @param target
*/
public static void del(int i, Integer[] target) {
for (int j = i; j < target.length - 1; j++) {
target[j] = target[j + 1];
}
}
/**
* 指定位置插入元素
* @param index
* @param data
* @return
*/
public static Integer[] inset(int index, int data) {
if (arr[index] == null) {
for (int j = 0; j < index; j++) {
arr[j] = 0;
}
element = index;
arr[index] = data;
return arr;
}
/**
* 加入元素 如果长度不够 不会把原来的数据给 挤掉
*
* else{
* Integer[] newArray =new Integer[arr.length+1];
* for(int j=0;j<=arr.length;j++)
* { if(j<index)
* { newArray[j]=arr[j]; }
* else if(j==index)
* { newArray[j]=data; }
* else{ newArray[j]=arr[j-1]; }
* }
* element=arr.length+1;
* return newArray;
* }
*/
else {
for (int j = arr.length - 1; j > index; j--) {
arr[j] = arr[j - 1];
}
arr[index] = data;
element = arr.length;
return arr;
}
}
/**
* 显示数据
* @param arr
*/
public static void showDate() {
for (int i = 0; i <= element - 1; i++) {
System.out.println(arr[i]);
}
}
/**
* 顺序插入数据
* @param data
*/
public static void insert(int data) {
int i;
for (i = 0; i < element; i++) {
if (arr[i] > data) {
break;
}
}
for (int j = element; j > i; j--) {
arr[j] = arr[j - 1];
}
arr[i] = data;
element++;
}
/**
* 查找元素位置
*/
public static int showInde(int data){
int i;
for(i=0;i<element-1;i++){
if(arr[i]==data)
break;
}
return i;
}
/**
* 二分法查找
*/
public static int showInde(int data,int id){
int low=0;
int mindle=0;
int pow=element;
while(true){
mindle=(pow+low)/2;
if(arr[mindle]==data){
return mindle;
}
else if(arr[mindle]>data){
pow=mindle-1;
}
else low=mindle+1;
}
}
}
数组相关操作
最新推荐文章于 2022-09-20 10:49:07 发布