Un type de données abstrait (ADT) est une spécification pour une certaine classe de structures de données qui ont un comportement similaire; ou pour certains types de données d'un ou plusieurs langages de programmation ayant une sémantique similaire. Un type de données abstrait est défini indirectement, uniquement par les opérations qui peuvent y être effectuées et par des contraintes mathématiques sur les effets de ces opérations.

Plus à propos abstract-data-type...

J'apprends les types de données java et abstraits et je suis un peu confus. Fondamentalement, d'après ce que j'ai compris, les types de données abstraits sont quelque chose qui est défini, mais non implémenté. Nous avons donc l'API du type de données abstrait et nous devons implémenter les méthodes....
Voici un exemple simple: trait Base { type Out def v: Out } object Base { type Aux[T] = Base { type Out = T } class ForH() extends Base { type Out = HNil override def v: Out = HNil } object ForH extends ForH } class TypeClass[B] trait TypeClas....
J'essaie d'accéder à une structure définie dans un fichier c à partir d'un autre fichier c. Le problème est que Je ne peux pas utiliser le extern mot-clé ni définir la structure dans le fichier d'en-tête . Comment accéder à la structure définie dans abstract.c à l'intérieur de use_abstract.c? ....
21 janv. 2021 à 20:54
J'ai ce qui suit: typedef struct s_strukt strukt; typedef struct s_strukt { int x; } strukt; #include <stdio.h> #include "abstract.h" int main() { strukt s; s.x = 0; return 0; } La compilation, (gcc use_abstract.c) ou (gcc use_abstract abstract.c) use_abstract.c entraîne l....
21 janv. 2021 à 17:16
Étant donné qu'une file d'attente est une structure de données de type de données abstraite, quelle structure de type de données concrète l'implémente? J'ai vu qu'une file d'attente est une interface et je ne savais donc pas comment un type de données concret pouvait implémenter le .......
13 déc. 2020 à 21:27
J'ai un type abstrait, avec des sous-types. Je voudrais créer et ajouter à un Dict qui contient les sous-types. Est-ce faisable? Quelle est la meilleure façon d'y parvenir? Exemple: abstract type Cat end struct Lion <: Cat manecolour end struct Tiger <: Cat stripewidth end cats = Dict{In....
27 août 2020 à 15:21
J'ai récemment été transféré dans un autre programme scolaire & cs. La langue utilisée est le C par rapport à java qui était enseigné dans mon école précédente. L'un de mes principaux problèmes qui peut être le résultat de ne pas écrire suffisamment de code C est que j'ai du mal à trouver une norme ....
8 août 2019 à 18:38
Habituellement, lorsque nous créons une nouvelle structure, avec le mot-clé 'struct' en C, que nous pouvons utiliser dans d'autres fichiers que le fichier source, nous utilisons le mot-clé 'typedef' pour définir un pointeur vers la structure; typedef struct struct_name* StructName; // for exmaple P....
22 juil. 2019 à 14:38
J'écris un programme pour la classe qui entre l'utilisateur dans une boucle infinie et accepte trois commandes différentes (ajouter x, supprimer x, existe x) + une valeur entière. Lorsque l'utilisateur entre "existe x", le programme doit retourner un résultat booléen indiquant si la valeur existe da....
Quelqu'un connaît-il un moyen simple de convertir la liste donnée au format souhaité? Donnée: ['[[2.1, 3.7], [5.5, -1.3]]'] Format souhaité: [[2.1, 3.7], [5.5, -1.3]] Merci d'avance....
Existe-t-il un moyen d'utiliser la structure C dans R, ou une alternative? Ce que je recherche est un type de données qui peut gérer différents types de données et accorder l'accès de manière compréhensible. Les listes R le font déjà, mais l'accès au contenu se fait par des index [[ ]]. Cela semble ....
6 nov. 2017 à 00:52
Ce document indique que std::list est inefficace: std :: list est une classe extrêmement inefficace qui est rarement utile. Il effectue une allocation de tas pour chaque élément inséré dans celui-ci, ayant ainsi un facteur constant extrêmement élevé, en particulier pour les petits types de données. ....
Je suis un débutant en Scala et je jouais pour en savoir plus sur les types de données abstraits. J'ai défini la définition suivante pour répliquer le type d'option: sealed abstract class Maybe[+A](x:A) case object Nothing extends Maybe[Nothing](Nothing) case class Just[A](x:A) extends Maybe[A](x) ....
class Queue: def __init__(self): self._contents = [] def enqueue(self, obj): self._contents.append(obj) def dequeue(self): return self._contents.pop(0) def is_empty(self): return self._contents == [] class remove_2nd(Queue): def dequeue(self)....
29 mai 2017 à 08:35
J'essaie de créer une liste liée qui contient essentiellement une chaîne (plutôt qu'un tableau de caractères). Je continue à recevoir une erreur de segmentation (core dumped) et je ne sais pas où / comment j'alloue de la mémoire incorrect #include <stdio.h> #include <stdlib.h> #include <string.h> ....
13 avril 2017 à 21:39
Je suis un python / programmeur newb, et je suis un python auto-apprenant. Malheureusement, je suis vraiment coincé! Je suis dans le chapitre 19 de "Comment penser comme un informaticien". Le but ici est d'écrire une implémentation d'un ADT de file d'attente prioritaire, en utilisant une liste chaîn....
En JavaScript, vous pouvez placer une variable ou un objet dans un tableau de différentes manières: array.push(item) array[2] = item; array[somevariable] = item Le dernier de l'exemple ci-dessus est ce qui me dérange Disons par exemple que j'ai la variable suivante var somevariable = 'someString'; ....
27 mars 2016 à 00:54
Je travaille sur une classe wrapper pour char[] en c ++. Quelque chose comme un String. Maintenant, je veux obtenir une valeur du nom de l'objet. Par exemple: void main() { String str; str = "Hello"; cout << str; } Ainsi le str renvoie un character array, et cout peut l'imprimer à l'écr....
17 févr. 2016 à 22:05
J'ai une fonction dans un ADT: Pgroup new_group(int size, void (*foo)(void *)); Dans mon autre classe, j'ai cette fonction à envoyer: void foo(Pstruc x); X est un pointeur vers une structure. Cependant, quand j'essaye d'appeler new_group, je reçois une erreur "attendu 'void (*) (void )' mais l'arg....
11 déc. 2015 à 01:57
J'ai fait des progrès dans mon apprentissage de la SML, essayant de solidifier ma compréhension de certains des concepts les plus basiques. L'exercice suivant prouve qu'il reste encore beaucoup à apprendre. On me demande d'implémenter une fonction nommée add qui reçoit deux nombres et renvoie leur s....
Je ne suis pas en mesure de comprendre exactement quelle est la différence entre les types de données primitifs et non primitifs en JavaScript, même s'il est déclaré en utilisant le même nom, c'est-à-dire var.....
22 oct. 2015 à 08:12
1ère implémentation : l'implémentation de pile suivante suppose que la fin de la liste contiendra l'élément supérieur de la pile. Au fur et à mesure que la pile s'agrandit, de nouveaux éléments seront ajoutés à la fin de la liste. class Stack: def __init__(self): self.items = [] de....