Maison > Java > javaDidacticiel > Comment faire fonctionner la table de séquence de la structure de données Java

Comment faire fonctionner la table de séquence de la structure de données Java

王林
Libérer: 2023-05-12 20:22:04
avant
853 Les gens l'ont consulté

    Préface

    Une liste linéaire est une séquence finie de n éléments de données ayant les mêmes caractéristiques. Les tableaux linéaires sont une structure de données largement utilisée dans la pratique. Les tableaux linéaires courants comprennent les listes de séquences, les listes chaînées, les piles, les files d'attente, les chaînes... Un tableau linéaire est logiquement une structure linéaire, c'est-à-dire une ligne droite continue. Cependant, la structure physique n'est pas nécessairement continue. Lorsque les tableaux linéaires sont physiquement stockés, ils le sont généralement sous forme de tableaux et de structures liées.

    1. Qu'est-ce qu'une table de séquence ?

    Le concept et la structure d'une table de séquence

    Une table de séquence est une structure linéaire qui utilise une unité de stockage avec une adresse physique continue pour stocker des éléments de données en séquence. est utilisé. Complétez l'ajout, la suppression, la vérification et la modification des données sur le tableau

    est en fait un tableau. Alors pourquoi avez-vous besoin d’écrire une table de séquence ? Ne serait-il pas préférable d’utiliser simplement un tableau ? La différence est que son écriture dans une classe peut être orientée objet. "Créer une table de séquence"

    Obtenir la longueur de la table de séquence

    Comment faire fonctionner la table de séquence de la structure de données Java

    Ajouter un élément à la position pos

    Lors de l'insertion d'un élément dans la table de séquence, l'élément doit être stocké devant la position insérée,

    Analyse du dessin : Comment faire fonctionner la table de séquence de la structure de données Java

    Le code est le suivant : Comment faire fonctionner la table de séquence de la structure de données Java

    public class MyArrayList {
       public int[] elem;//数组
       public int usedSize;//数据的有效个数
     
       public MyArrayList(){
           this.elem = new int[10];
       }
    }
    Copier après la connexion

    Résultats d'impression :

    Déterminer si un certain élément est inclus Comment faire fonctionner la table de séquence de la structure de données Java

    // 在 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;
        }
    Copier après la connexion

    Résultats d'impression :

    Trouver la position correspondant à un élément

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

    Imprimer résultats : Comment faire fonctionner la table de séquence de la structure de données Java

    Obtenir l'élément en position pos

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

    Résultat de l'impression :Comment faire fonctionner la table de séquence de la structure de données Java

    Définissez la valeur de l'élément en position 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;
        }
    Copier après la connexion

    Résultat de l'impression :Comment faire fonctionner la table de séquence de la structure de données Java

    Supprimez l'élément que vous souhaitez supprimer

       // 给 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;
        }
    Copier après la connexion

    Résultat d'impression :Comment faire fonctionner la table de séquence de la structure de données Java

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Étiquettes associées:
    source:yisu.com
    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal