Comment ordonner la structure en ordre décroissant et croissant?

user2865883

Comment ordonner la structure en ordre décroissant et croissant?


J’ai la structure suivante utilisée pour ajouter quelques détails. L’objectif est de trier par ordre décroissant. L’enregistrement des points totaux initialement le plus élevé sera affiché. Je voudrais créer deux boutons

1) Transférer – qui récupérera l’enregistrement des points totaux les plus élevés et si nous cliquons sur le même bouton, il devrait extraire l’enregistrement des points totaux le plus élevé suivant de la structure.

2) Vers l’arrière – vice-versa ci-dessus.

 struct  struUser { address userAddress ; uint256 id ; bytes32 originalKshoplink ; bytes32 orginalDocumentConvention ; 
     bool  validated ; uint32 Points ; uint32 totalPoints ; 
 } 

Si j’ajoute le premier enregistrement, ce sera quelque chose comme:

 UserAddress :   0x000123 

 Id : 1 originalKshoplink : http : //kshoplink originalDocumentConvention : doc1 validated : true 

 Points : 10 totalPoints : 10 

Si j’ajoute le deuxième enregistrement, ce sera quelque chose comme:

 UserAddress :   0x000123 

 Id : 1 originalKshoplink : http : //kshoplink originalDocumentConvention : doc1 validated : true 

 Points : 10 totalPoints : 20 ( earlier 10points   +   10points   for   this  record ) 

C’est pour un utilisateur et j’ai des enregistrements similaires pour un autre utilisateur. Maintenant, je dois écrire une fonction qui retournera la UserAddress et son totalPoints (par exemple, 100 totalPoints considèrent cela comme base).

Considérez que le totalPoints affichés totalPoints est de 100. Lorsque je clique sur le bouton avant, il devrait récupérer la prochaine UserAddress plus UserAddress et ses totalPoints (par exemple 90 totalPoints), lorsque je clique à nouveau sur le bouton avant, il devrait récupérer la prochaine UserAddress plus UserAddress et ses totalPoints (par exemple 80 points totaux).

Considérez que le totalPoints affichés totalPoints est de 80. Lorsque je clique sur le bouton en arrière, il devrait récupérer le deuxième plus haut UserAddress et ses totalPoints (par exemple 90 totalPoints), quand je clique à nouveau sur vers l’arrière, il devrait récupérer le troisième plus haut userAddress et ses totalPoints (par exemple 100 totalPoints).

Comment dois-je y parvenir en toute solidité? veuillez me le faire savoir en cas de questions.

Réponses


 Henk

Le tri dans un contrat intelligent va vous coûter beaucoup de gaz, en particulier avec les grands réseaux.

Vous pouvez configurer une base de données centralisée qui réplique les données dans le contrat intelligent. Ensuite, vous pourriez demander au système de base de données d’effectuer le tri hors chaîne.

Les utilisateurs peuvent alors toujours vérifier que les données que vous fournissez sont correctes, car ils pourraient extraire chaque enregistrement du contrat intelligent.

 

#en, #et, #la, comment, croissant, décroissant?, Ordonner, ordre, structure

 

yahoo

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *