-2
votes

Initialiser un tableau d'entiers dans une boucle

Je veux initialiser un éventail d'entiers consécutifs (disons de 1 à 100) dans Scala. xxx

Quelle est la meilleure façon de le faire dans les paradigmes impératifs et fonctionnels?


0 commentaires

3 Réponses :


1
votes

Si vous êtes du monde de programmation, vous trouverez cette technique familière: xxx

Notez que les tableaux de Scala sont accessibles à l'aide de la paranthèse incurvée et non carrées (comme dans Java, C etc.).

A plus moyen d'initialiser le tableau serait: xxx


0 commentaires

2
votes

fonctionnel, concis et général

Le moyen fonctionnel le plus général d'initialiser serait probablement tabuler : xxx

ici, le premier L'argument est la taille de la matrice et le deuxième argument est la fonction qui mesure les indices sur les valeurs.


impératif: encombrant, mais très rapide

Si vous voulez faire Il est aussi rapide que possible à l'aide d'un seul fil, le code impératif suivant serait probablement difficile à battre, car il n'utilise aucune fonction d'ordre supérieur nulle part: xxx

A l'avantage que vous avez le contrôle sur la matrice, vous n'avez donc pas à allouer une nouvelle mémoire si vous avez déjà un tableau alloué. <<


avec des collections parallèles

Si l'initialisation serait moins triviale (non seulement incrémenter un entier), la version parallèle suivante pourrait fonctionner plus rapidement pour un très grand N : xxx


Quick & Dirty (et probablement aussi vite que la version impérative de toute façon)

Comme déjà mentionné dans le commentaire, dans ce cas simple xxx

aurait été suffisant.


0 commentaires

4
votes

Il existe un tableau dédié Builder ( Array.Range ) dans le but de construire un Tableau comme une plage:

def def (Démarrer: int, fin: int): tableau [int] xxx


0 commentaires