順序表常見操作有插入、刪除、查找、修改。
一、插入:
1.插入有頭插、尾插、任意位置插入。在插入時(shí)要注意下標(biāo)的取值在順序表長(zhǎng)度范圍內(nèi)。所以最好在插入之前進(jìn)行擴(kuò)容操作。
2.在頭插時(shí)要注意先將原數(shù)組的元素從后往前依次向后移動(dòng)。因?yàn)槿绻麖那巴箝_始移動(dòng)的話,會(huì)造成后一個(gè)元素被前一個(gè)元素覆蓋,而丟失數(shù)據(jù)且造成重復(fù)。arr[i+1]=arr[i],注意此處i的意思是要移動(dòng)的元素的下標(biāo)。
3.任意位置插入與頭插類似,從后往前(要插入的位置元素下標(biāo))依次向后移動(dòng),再將數(shù)據(jù)插入
二.刪除
1.刪除有頭刪、尾刪、任意位置刪除,要注意刪除前,原順序表是否為空的異常情況。
2.頭刪與頭插相反,是從前往后依次向前移動(dòng),即后一個(gè)元素arr[i+1]覆蓋前一個(gè)元素arr[i].arr[i]=arr[i+1]
3.不論查找還是刪除,在確定循環(huán)語句的初始值和條件時(shí)都要仔細(xì)思考可取范圍
三.查找和修改
查找和修改要注意目標(biāo)位置的下標(biāo)不能越界
四.擴(kuò)容
在java語言中,擴(kuò)容一般擴(kuò)為原來的1.5倍,是一種習(xí)慣的規(guī)范,不是死規(guī)則。
最后,附上完整代碼,包括初始化、插入、刪除、查找、修改、擴(kuò)容、刪除順序表的相同元素。
中寧ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
import java.util.Arrays;
public class SeqList1{
private int[] array;
private int size;
//1.初始化,構(gòu)造函數(shù)
public SeqList1(){
array=new int[11];
size=0;
}
//2.頭插
public void pushFront(int element){
ensureCapacity();
for(int i=size-1;i>=0;i--){// i代表的數(shù)據(jù)元素的下標(biāo),從后往前移動(dòng)
array[i+1]=array[i];
}
array[0]=element;
size++;
}
//3.尾插
public void pushBack(int element){
ensureCapacity();
array[size++]=element;
}
//4.中間插
public void insert(int index,int element){
if(index<0||index>size){
System.out.println("下標(biāo)異常,不能插入");
}
ensureCapacity();
for(int i=size;i>=index;i--){
array[i+1]=array[i];
}
array[index]=element;
size++;
}
//5.頭刪
public void popFront(){
if(size==0){
System.out.println("空表");
}
for(int i=0;i=size){
System.out.println("下標(biāo)異常,不能刪除");
}
for(int i=index;i=size){
System.out.println("下標(biāo)異常");
}
for(int i=0;i