Trouver l'index de l'élément dans la liste
J'ai besoin pour obtenir l'indice de l'élément dans la liste dans le schéma. Par exemple:
(... 2 '(2 3 4 5))
0
(... 4 '(2 3 4 5))
2
Quelqu'un peut-il aider?
Avez-vous essayé quelque chose? Aussi, quelle langue utilisez-vous?
régime, j'ai ceci: (define carte-index-pred (lambda (pred? f l) (foldr (lambda (x y) (if (pred? x) (cons (f x) y) (cons x y))) '() l))) (carte-index-pred bizarre? sqr '(2 3 4 5)) (carte-index-pred (lambda(i) (< i 2)) - '(1 2 3 4 5)) il ne fonctionne que pour les numéros (x), j'en ai besoin pour leurs indices... 🙁
régime, j'ai ceci: (define carte-index-pred (lambda (pred? f l) (foldr (lambda (x y) (if (pred? x) (cons (f x) y) (cons x y))) '() l))) (carte-index-pred bizarre? sqr '(2 3 4 5)) (carte-index-pred (lambda(i) (< i 2)) - '(1 2 3 4 5)) il ne fonctionne que pour les numéros (x), j'en ai besoin pour leurs indices... 🙁
OriginalL'auteur kelly | 2012-11-26
Vous devez vous connecter pour publier un commentaire.
Quelque chose comme ceci
Votre accueil,si cela résout votre problème,merci de le marquer comme réponse
OriginalL'auteur meirrav
La suite est la solution la plus claire que je pouvais venir:
Cette solution est essentiellement le même que merriav sauf que j'ai ajouté un let à la fin, de sorte que l'appel récursif n'est pas inutilement répétées (dans le code écrit ou à l'exécution).
La solution retenue ne semble pas tenir compte de la liste vide, ou une liste qui ne contient pas l'élément recherché.
OriginalL'auteur csmith
Vous pourriez mettre en œuvre indice à l'aide de inverse, membre, longueur, et cdr comme suit:
OriginalL'auteur wedesoft
ma solution finale:
OriginalL'auteur kelly
La réponse est plus facile que vous les gars prévu, également sans récursivité 🙂
Simple fonction, dans le cas où vous êtes sûr que l'élément est dans la liste
Si vous considérez le cas où l'élément ne peut pas être dans la liste. Retour
false
si elle ne trouve pasRésultat Final:
OriginalL'auteur Giacomo Tecya Pigani
Le code suivant atteint l'objectif :
OriginalL'auteur Jarvis
Si vous n'avez pas besoin de s'inquiéter à propos de l'affaire que l'élément n'est pas dans la liste, le code suivant est probablement la version la plus courte. (Une exception se produit si l'élément n'est pas dans la liste.)
Sinon, utilisez le code suivant:
Exemples:
OriginalL'auteur Shunfan