Maison >Java >javaDidacticiel >Analyse détaillée des principes et méthodes simples de mise en œuvre des tableaux linéaires

Analyse détaillée des principes et méthodes simples de mise en œuvre des tableaux linéaires

ringa_lee
ringa_leeoriginal
2017-10-15 10:43:573053parcourir

L'éditeur suivant vous apportera une brève discussion sur les principes et les méthodes simples de mise en œuvre des tableaux linéaires. L'éditeur le trouve plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence pour tout le monde. Venez jeter un œil avec l'éditeur

1 Tableau linéaire

Principe : une séquence finie de zéro ou plusieurs éléments de données similaires

Schéma :

Caractéristiques :

Ordre

2. Finitude

3. Éléments du même type

4 Le premier élément n'a pas de prédécesseur, le dernier élément n'a pas de successeur et l'élément du milieu a un prédécesseur et un successeur

La table linéaire est une structure de données logique. Il existe généralement deux implémentations physiques : l'implémentation séquentielle et l'implémentation de liste chaînée

2. Ordre de table linéaire basé sur un tableau Principe d'implémentation de  : Utilisez une unité de stockage avec une adresse continue pour stocker les éléments de données d'un tableau linéaire en séquence.

Schéma de principe :

Principe de l'algorithme :

1. Initialiser un élément d'espace de tableau de longueur fixeData[], taille de stockage de longueur de stockage. Éléments

2. Accédez rapidement aux éléments via des index

3. Insertion et suppression d'éléments via la copie de tableau

Résumé : 1. Pas besoin d'ajouter un espace de stockage supplémentaire pour exprimer la relation logique entre les éléments du tableau

2 Les éléments à n'importe quelle position dans le tableau sont accessibles rapidement

. 3. L'insertion et la suppression nécessitent une copie de tableau (c'est-à-dire le mouvement d'un grand nombre d'éléments)

4. Lorsque la longueur de la table linéaire change considérablement, une expansion fréquente est nécessaire et une fragmentation de l'espace de stockage se produit

Code d'implémentation :

Définition de l'interface :


package online.jfree.base;

/**
 * author : Guo LiXiao
 * date : 2017-6-14 11:46
 */

public interface LineList <E>{

 /**
  * lineList 是否为空
  * @return
  */
 boolean isEmpty();

 /**
  * 清空 lineList
  */
 void clear();

 /**
  * 获取指定位置元素
  * @param index
  * @return
  */
 E get(int index);

 /**
  * 获取元素第一次出现的位置
  * @param e
  * @return
  */
 int indexOf(E e);

 /**
  * 判断 lineList是否包含指定元素
  * @param e
  * @return
  */
 boolean contains(E e);

 /**
  * 设置指定位置数据,如数据已存在 则覆盖原数据
  * @param index
  * @param e
  * @return
  */
 E set(int index, E e);

 /**
  * 移除指定位置元素
  * @param index
  * @return
  */
 E remove(int index);

 /**
  * 在lineList结尾插入元素
  * @param e
  * @return
  */
 E add(E e);

 /**
  * 在index后面插入元素
  * @param index
  * @param e
  * @return
  */
 E add(int index, E e);

 /**
  * 返回lineList长度
  * @return
  */
 int size();



}

Mise en œuvre de l'algorithme :


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!

Déclaration:
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