深圳英文网站建设,江苏固茗建设有限公司网站,西安注册公司代理,帮别人做网站后期维护以下方法在使用时需要new一个新对象调用#xff0c;输出时需要一个输出方法#xff0c;否则输出的是地址
1.最后位置插入
//最后位置插入
public void add(int element){if (sizearr.length){capacity*factor;int[] tempnew int[capacity];for (int i 0; i arr.le…以下方法在使用时需要new一个新对象调用输出时需要一个输出方法否则输出的是地址
1.最后位置插入
//最后位置插入
public void add(int element){if (sizearr.length){capacity*factor;int[] tempnew int[capacity];for (int i 0; i arr.length ; i) {temp[i]arr[i];}arrtemp;}arr[size]element;size;}
2.任意位置插入
//在任意位置插入//value 插入的值//index 插入的位置public void insert(int value,int index){if (index0||indexsize){System.out.println(插入位置不合理);return;}if (size arr.length){//扩容capacity*factor;int[] tempnew int[capacity];for (int i 0; i arr.length ; i) {temp[i]arr[i];}arrtemp;}//插入位置以及插入位置以后的数据往后移动for (int i size-1; i index ; i--) {arr[i1]arr[i];}//插入数据arr[index]value;size;}
3.删除第一个复合条件的元素 //删除第一个复合条件的数据public boolean delFirst(int value){boolean isFoundfalse;for (int i 0; i size ; i) {if(arr[i]value){//删除for (int j i; j size-1 ; j) {arr[j]arr[j1];}size--;isFoundtrue;break;}}return isFound;}
4.删除所有复合条件的元素
//删除所有复合条件的数据public boolean delete(int value){boolean isFoundfalse;//从后往前遍历可以删除两个相邻的复合条件的数据for (int i size-1; i 0 ; i--) {if(arr[i]value){//删除for (int j i; j size-1 ; j) {arr[j]arr[j1];}size--;isFoundtrue;}}return isFound;}
5.在合适位置插入
//在合适位置插入public void orderInsert(int value){if (size arr.length){//扩容capacity*factor;int[] tempnew int[capacity];for (int i 0; i arr.length ; i) {temp[i]arr[i];}arrtemp;}//插入if(size0){arr[0]value;}else if(valuearr[size-1]){arr[size]value;}else {for (int i 0; i size ; i) {if(arr[i]value){//插入位置以及之后的数据往后移动for (int tempsize-1;tempi;temp--){arr[temp1]arr[temp];}arr[i]value;break;}}}size;}
6.二分查找
//二分查找public int search(int value){int left0;int rightsize;while (leftright){int mid(leftright)/2;if(arr[mid]value){System.out.println(找到了下标为mid);return mid;}else if(arr[mid]value){rightmid-1;}else {leftmid1;}}System.out.println(没找到);return -1;}