Eine lineare Liste ist eine endliche Folge von n Datenelementen mit denselben Eigenschaften. Lineare Tabellen sind eine in der Praxis weit verbreitete Datenstruktur: sequentielle Listen, verknüpfte Listen, Stapel, Warteschlangen, Zeichenfolgen ... Eine lineare Liste ist logischerweise eine lineare Struktur, dh eine kontinuierliche gerade Linie. Die physische Struktur ist jedoch nicht unbedingt kontinuierlich. Wenn lineare Tabellen physisch gespeichert werden, werden sie normalerweise in Form von Arrays und verknüpften Strukturen gespeichert.
ist eigentlich ein Array. Warum müssen Sie dann eine Sequenztabelle schreiben? Wäre es nicht besser, einfach ein Array zu verwenden? Der Unterschied besteht darin, dass das Schreiben in einer Klasse objektorientiert sein kann.
Sequenztabelle erstellen
public class MyArrayList { public int[] elem;//数组 public int usedSize;//数据的有效个数 public MyArrayList(){ this.elem = new int[10]; } }Sequenztabelle drucken
Druckergebnis:
Da die Anzeige basierend auf usedsize gedruckt wird, wird usedsize kein Wert zugewiesen, sodass nichts gedruckt wird.
Ermitteln Sie die Länge der Sequenztabelle.
Fügen Sie ein Element an der Pos-Position hinzu.
Zeichnungsanalyse:
Der Code lautet wie folgt:
// 在 pos 位置新增元素 public void add(int pos, int data) { if(pos < 0 || pos > usedSize){ System.out.println("pos位置不合法"); return; } if(isFull()){ this.elem = Arrays.copyOf(this.elem,this.elem.length*2); } for (int i = this.usedSize-1; i >=pos ; i--) { this.elem[i+1] = this.elem[i]; } this.elem[pos] = data; this.usedSize++; } public boolean isFull(){ return this.usedSize == this.elem.length; }
Druckergebnisse:
Bestimmen Sie, ob ein bestimmtes Element enthalten ist.
// 判定是否包含某个元素 public boolean contains(int toFind) { for (int i = 0; i < this.usedSize; i++) { if (this.elem[i] == toFind) { return true; } } return false; }
Finden Sie die Position, die einem Element entspricht rreee
Drucken Ergebnisse:Element an Position Position abrufen
// 查找某个元素对应的位置 public int search(int toFind) { for (int i = 0; i <this.usedSize ; i++) { if(this.elem[i] == toFind){ return i; } } return -1; }Ergebnis drucken:
Element an Position Position auf Wert setzen
// 获取 pos 位置的元素 public int getPos(int pos) { if(pos < 0 || pos > this.usedSize){ System.out.println("pos位置不合法"); return -1;//所以,这里说明一下,业务上的处理,这里不考虑 } if (isEmpty()){ System.out.println("顺序表为空"); return -1; } return this.elem[pos]; } public boolean isEmpty(){//判断为不为空的情况下 return this.usedSize == 0; }Ergebnis drucken:
Löschen Sie das Element, das Sie löschen möchten
// 给 pos 位置的元素设为 value public void setPos(int pos, int value) { if (pos < 0 || pos > this.usedSize) { System.out.println("pos位置不合法"); return ; } if (isEmpty()) { System.out.println("顺序表为空"); return; } this.elem[pos] = value; } public boolean isEmpty() {//判断为不为空的情况下 return this.usedSize == 0; }Druckergebnis:
Das obige ist der detaillierte Inhalt vonSo bedienen Sie die Sequenztabelle der Java-Datenstruktur. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!