[Estructura de datos] que puede llevarlo al rey Parte 1: Tabla de secuencia de estructuras de datos

contenido

prefacio

1. ¿Qué es una tabla de secuencia?

1. El concepto y la estructura de la tabla de secuencia

 Crear tabla de secuencia

tabla de pedidos de impresión

 Obtener la longitud de la tabla de secuencia

Agregar un elemento en la posición pos

Comprobar si un elemento está incluido

 Encuentra la posición correspondiente a un elemento

 Obtener elemento en posición pos.

 Establecer el elemento en la posición pos a valor

 elimine el elemento que desea eliminar

Resumir:

Estoy con usted.


prefacio

Una lista lineal es una secuencia finita de n elementos de datos con las mismas características. La tabla lineal es una estructura de datos muy utilizada en la práctica, la tabla lineal común: tabla de secuencia, lista enlazada, pila, cola, cadena... La tabla lineal es una estructura lógicamente lineal, es decir, una línea recta continua. Sin embargo, no es necesariamente continua en estructura física.Cuando las tablas lineales se almacenan físicamente, generalmente se almacenan en forma de matrices y estructuras de cadena.

1. ¿Qué es una tabla de secuencia?

1. El concepto y la estructura de la tabla de secuencia

La tabla de secuencia es una estructura lineal en la que los elementos de datos se almacenan secuencialmente en un segmento de unidades de almacenamiento con direcciones físicas consecutivas, generalmente utilizando almacenamiento en matriz. Complete las adiciones, eliminaciones y cambios de datos en la matriz 

 En realidad es una matriz. Entonces, ¿por qué escribir una tabla de secuencia en lugar de simplemente usar una matriz? La diferencia es que puede estar orientado a objetos cuando se escribe en una clase.

 Crear tabla de secuencia

public class MyArrayList {
   public int[] elem;//数组
   public int usedSize;//数据的有效个数

   public MyArrayList(){
       this.elem = new int[10];
   }
}

tabla de pedidos de impresión

 imprimir resultado:

Debido a que la pantalla se imprime de acuerdo con el tamaño usado, el tamaño usado no se asigna, por lo que no se imprime nada.

 Obtener la longitud de la tabla de secuencia

Agregar un elemento en la posición pos

Al insertar un elemento en la tabla de secuencia, el elemento debe almacenarse delante de la posición insertada.

Análisis de dibujo:

el código se muestra a continuación:

// 在 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;
    }

imprimir resultado:

Comprobar si un elemento está incluido

// 判定是否包含某个元素
    public boolean contains(int toFind) {
        for (int i = 0; i < this.usedSize; i++) {
            if (this.elem[i] == toFind) {
                return true;
            }
        }
        return false;
    }

imprimir resultado:

 Encuentra la posición correspondiente a un elemento

 // 查找某个元素对应的位置
    public int search(int toFind) {
        for (int i = 0; i <this.usedSize ; i++) {
            if(this.elem[i] == toFind){
                return i;
            }
        }
       return -1; 
   }

imprimir resultado:

 Obtener elemento en posición pos.

 // 获取 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;
    }

imprimir resultado:

 Establecer el elemento en la posición pos a valor

   // 给 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;
    }

 imprimir resultado:

 elimine el elemento que desea eliminar

 

//删除第一次出现的关键字key
public void remove(int toRemove) {
   if(isEmpty()){
       System.out.println("顺序表为空");
       return;
   }
   int index = search(toRemove);//查找要删除元素对应的位置
   if(index == -1){
       System.out.println("没有你要找到数字");
       return;
   }

    for (int i = index; i <this.usedSize-1 ; i++) {
        this.elem[i] = this.elem[i+1];
    }
    this.usedSize--;

}

 imprimir resultado:

Resumir:

Este artículo presenta brevemente la tabla de secuencia de la estructura de datos, cómo crear una tabla de secuencia y cómo operar los datos en la tabla de secuencia. Profundizar en la comprensión de la tabla de secuencias mediante ejemplos sencillos. Lo anterior es el contenido de hoy. Si tiene alguna pregunta, puede enviarme un mensaje privado en cualquier momento. Corregiré activamente cualquier problema en el artículo. También espero que todos puedan dominar el conocimiento que desean más rápido, ¡trabajemos juntos! ! ! ! !

estoy contigo._ _ _ _ _

 

Supongo que te gusta

Origin blog.csdn.net/m0_64397675/article/details/123393526
Recomendado
Clasificación