Trier les chaînes par valeur ASCII du caractère
Valeur ASCII
ASCII (American Standard Code for Information Interchange) est le format de codage de caractères le plus courant pour les données texte sur les ordinateurs et sur Internet. Dans les données codées ASCII standard, 256 lettres, chiffres ou caractères spéciaux supplémentaires et codes de contrôle ont des valeurs uniques.
Énoncé du problème
Maintenant, dans ce problème, nous devons trouver la chaîne triée par ordre croissant en fonction de la valeur ASCII du caractère, où la chaîne sera l'entrée qui nous sera donnée par l'utilisateur. Voyons comment nous devrions résoudre ce problème.
Essayons de comprendre ce problème à l'aide de quelques exemples.
Entrée - s = "$%7wjk()"
Sortie - « $%()7jkw »
Explication - Les valeurs ASCII des caractères de la chaîne donnée sont les suivantes -
$ -> 36 % -> 37 ( -> 40 ) -> 41 7 -> 55 j -> 106 k -> 107 w -> 119
Ainsi, par ordre croissant des valeurs du code ASCII, la chaîne deviendra "$%()7jkw"
Entrez - s = "#m 0f )nk"
Sortie - « #)0fkmn »
Explication - Les valeurs ASCII des caractères de la chaîne donnée sont les suivantes -
(space) -> 32 # -> 35 ) -> 41 0 -> 48 f -> 102 k -> 107 m -> 109 n -> 110
Ainsi, par ordre croissant des valeurs du code ASCII, la chaîne deviendra "#)0fkmn"
Explication du problème
Essayons de comprendre le problème et de trouver une solution. Nous savons qu'il y a 256 caractères dans la table ASCII, chacun ayant une valeur ou une position unique. Notre objectif fondamental est donc de trier les personnages en conséquence. Nous pouvons utiliser la fonction de tri intégrée en utilisant des fonctions externes qui peuvent être utilisées pour atteindre notre objectif. Une autre approche consiste à créer un vecteur de fréquence et à stocker la fréquence de chaque caractère dans ce tableau. En utilisant ce vecteur de fréquence et la valeur ASCII, nous pouvons obtenir la nouvelle chaîne.
Solution 1 Utiliser le vecteur de fréquence
Algorithme
Créez un vecteur de fréquence de taille 256 car le nombre total de caractères dans la table ASCII est de 256 et commencez tout le vecteur par zéro
Exécutez une boucle pour stocker la fréquence de chaque caractère d'une chaîne donnée
Définissez maintenant une chaîne de sortie initialement vide
Exécutez une autre boucle pour parcourir le vecteur de fréquence, afin que nous puissions obtenir la chaîne de sortie en transtypant la i-ème position Frequency_vector[i]
Renvoyer la chaîne de sortie comme résultat final
Exemple
Voici l'implémentation du programme C++ de la méthode ci-dessus :
#include <bits/stdc++.h> using namespace std; // Function to Sort the string as per ASCII values of the characters string Helper(string s){ // Define the size of the given string int size = s.length(); // Define a frequency vector of size 256, which is the same as the size of the characters as per the ASCII table, and initiate the value of the vector as 0 vector<int> v(256, 0); // Run a loop to count the frequency of each character of the string for (int i = 0; i < size; i++) { v[s[i]]++; } // Declare a string, initially empty, to find the final output string ans = ""; // Run another loop to get the final output in accordance with the ASCII table for (int i = 0; i < 256; i++) { for (int j = 0; j < v[i]; j++) // Typecast the integer value to the character value to include it in the loop ans = ans + (char)i; } // Return the final output return ans; } int main(){ // Give input as a string by the user string s = "$%7wjk()"; // Call Helper function to perform the remaining tasks cout<< "The sorted string as per ASCII values of the characters is: " << Helper(s); return 0; }
Sortie
The sorted string as per ASCII values of the characters is: $%()7jkw
Complexité du code ci-dessus
Complexité temporelle - O(n); où n est la taille de la chaîne. Ici, la complexité temporelle réelle est O(n * 256), mais nous pouvons la considérer comme O(n) car 256 peut être considéré comme une constante comme k, tandis que O(k * n) n'est considéré que comme O(n ) .
Complexité spatiale - O(256) ; car le seul espace supplémentaire occupé ici est l'espace pour le tableau de fréquences, qui a une taille de 256.
Solution 2 Solution utilisant la fonction de tri intégrée
Algorithme
Définissez une fonction de comparaison externe, utilisée dans la fonction de tri pour trier les caractères en fonction des valeurs ASCII, c'est-à-dire renvoyer les caractères dont la valeur de conversion de type int est inférieure à celle des autres caractères.
李>Utilisez maintenant la fonction de tri intégrée dans la fonction d'assistance et utilisez un paramètre supplémentaire (fonction de comparaison) pour obtenir la commande correctement.
Appelez la fonction d'assistance et obtenez la sortie de chaîne finale.
Exemple
#include "bits/stdc++.h" using namespace std; // Comparison Function to sort the string as per ASCII values of the characters bool comparison(char ch1, char ch2){ return int(ch1) <= int(ch2); } // Function to sort the string as per ASCII values of the characters string Helper(string s){ // Sort the string s with the help of the inbuilt function sort() sort(s.begin(), s.end(), comparison); // Return the final output string s return s; } int main(){ // Give input as a string by the user string s = "$%7wjk()"; // Call Helper function to perform the remaining tasks cout<< "The sorted string as per ASCII values of the characters is: " << Helper(s); return 0; }
Sortie
The sorted string as per ASCII values of the characters is: $%()7jkw
Complexité du code ci-dessus
Complexité temporelle : O(log(n)); comme nous le savons tous, la fonction de tri intégrée prend du temps O(n * log(n)) pour exécuter le code. Dans cette méthode, nous utilisons la fonction de tri intégrée en utilisant une fonction de comparaison supplémentaire qui triera les caractères en fonction de cette fonction.
Complexité spatiale : O(1); Dans le code ci-dessus, nous ne stockons aucune variable dans une structure de données.
Conclusion
Dans cet article, nous trouvons une chaîne triée en fonction de la valeur ASCII des caractères par ordre croissant. Nous pouvons résoudre ce problème de deux manières. Tout d'abord, nous pouvons créer un vecteur de fréquence de taille 256 (le même nombre de caractères dans la table ASCII) et stocker toutes les fréquences de chaque caractère, puis itérer par derrière pour obtenir la chaîne souhaitée. Une autre façon consiste à utiliser la fonction de tri intégrée, à l'aide de paramètres supplémentaires transmis dans la fonction de tri.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Cet article explique comment trier les images en fonction de la date de prise de vue dans Windows 11/10 et explique également ce qu'il faut faire si Windows ne trie pas les images par date. Dans les systèmes Windows, organiser correctement les photos est crucial pour faciliter la recherche des fichiers image. Les utilisateurs peuvent gérer des dossiers contenant des photos en fonction de différentes méthodes de tri telles que la date, la taille et le nom. De plus, vous pouvez définir l'ordre croissant ou décroissant selon vos besoins pour organiser les fichiers de manière plus flexible. Comment trier les photos par date de prise sous Windows 11/10 Pour trier les photos par date de prise sous Windows, procédez comme suit : Ouvrez Images, Bureau ou tout dossier dans lequel vous placez des photos. Dans le menu du ruban, cliquez sur

Outlook propose de nombreux paramètres et fonctionnalités pour vous aider à gérer votre travail plus efficacement. L’une d’elles est l’option de tri qui vous permet de classer vos emails en fonction de vos besoins. Dans ce didacticiel, nous allons apprendre à utiliser la fonction de tri d'Outlook pour organiser les e-mails en fonction de critères tels que l'expéditeur, l'objet, la date, la catégorie ou la taille. Cela vous permettra de traiter et de trouver plus facilement des informations importantes, ce qui vous rendra plus productif. Microsoft Outlook est une application puissante qui facilite la gestion centralisée de vos plannings de messagerie et de calendrier. Vous pouvez facilement envoyer, recevoir et organiser des e-mails, tandis que la fonctionnalité de calendrier intégrée facilite le suivi de vos événements et rendez-vous à venir. Comment être dans Outloo

Développement PHP : comment implémenter des fonctions de tri et de pagination des données de table Dans le développement Web, le traitement de grandes quantités de données est une tâche courante. Pour les tableaux devant afficher une grande quantité de données, il est généralement nécessaire de mettre en œuvre des fonctions de tri et de pagination des données pour offrir une bonne expérience utilisateur et optimiser les performances du système. Cet article explique comment utiliser PHP pour implémenter les fonctions de tri et de pagination des données de table et donne des exemples de code spécifiques. La fonction de tri implémente la fonction de tri dans le tableau, permettant aux utilisateurs de trier par ordre croissant ou décroissant selon différents champs. Ce qui suit est un formulaire de mise en œuvre

Comment la méthode Arrays.sort() en Java trie-t-elle les tableaux par comparateur personnalisé ? En Java, la méthode Arrays.sort() est une méthode très utile pour trier les tableaux. Par défaut, cette méthode trie par ordre croissant. Mais parfois, nous devons trier le tableau selon nos propres règles définies. À ce stade, vous devez utiliser un comparateur personnalisé (Comparator). Un comparateur personnalisé est une classe qui implémente l'interface Comparator.

Dans ce problème, une chaîne est donnée en entrée et nous devons trier les mots apparaissant dans la chaîne par ordre lexicographique. Pour ce faire, nous attribuons un index commençant à 1 à chaque mot de la chaîne (séparés par des espaces) et obtenons le résultat sous forme d'index triés. String={"Hello","World"}"Hello"=1 "World"=2 Puisque les mots dans la chaîne d'entrée sont dans l'ordre lexicographique, la sortie imprimera "12". Examinons quelques scénarios d'entrée/résultat - en supposant que tous les mots de la chaîne d'entrée sont identiques, regardons les résultats - Entrée :{"hello","hello","hello"}Résultat : 3 Résultat obtenu

Dans notre travail, nous utilisons souvent le logiciel wps. Il existe de nombreuses façons de traiter les données dans le logiciel wps, et les fonctions sont également très puissantes. Nous utilisons souvent des fonctions pour trouver des moyennes, des résumés, etc. des méthodes qui peuvent être utilisées pour les données statistiques ont été préparées pour tout le monde dans la bibliothèque du logiciel WPS. Ci-dessous, nous présenterons les étapes à suivre pour trier les scores dans WPS. Après avoir lu ceci, vous pourrez tirer les leçons de cette expérience. 1. Ouvrez d’abord le tableau qui doit être classé. Comme indiqué ci-dessous. 2. Entrez ensuite la formule =rank(B2, B2 : B5, 0) et assurez-vous de saisir 0. Comme indiqué ci-dessous. 3. Après avoir saisi la formule, appuyez sur la touche F4 du clavier de l'ordinateur. Cette étape consiste à changer la référence relative en référence absolue.

Afficher correctement les caractères chinois dans matplotlib est un problème souvent rencontré par de nombreux utilisateurs chinois. Par défaut, matplotlib utilise des polices anglaises et ne peut pas afficher correctement les caractères chinois. Pour résoudre ce problème, nous devons définir la police chinoise correcte et l'appliquer à matplotlib. Vous trouverez ci-dessous quelques exemples de code spécifiques pour vous aider à afficher correctement les caractères chinois dans matplotlib. Tout d’abord, nous devons importer les bibliothèques requises : importmatplot

WPS est un logiciel bureautique très complet, comprenant l'édition de texte, les tableaux de données, les présentations PPT, les formats PDF, les organigrammes et d'autres fonctions. Parmi eux, ceux que nous utilisons le plus sont les textes, les tableaux et les démonstrations, et ce sont aussi ceux que nous connaissons le mieux. Dans notre travail d'étude, nous utilisons parfois des tableaux WPS pour établir des statistiques de données. Par exemple, l'école comptera les scores de chaque élève. Si nous devons trier manuellement les scores de tant d'élèves, ce sera vraiment un casse-tête. en fait, nous n'avons pas à nous inquiéter, car notre table WPS a une fonction de tri pour résoudre ce problème pour nous. Apprenons ensuite comment trier les WPS ensemble. Étapes de la méthode : Étape 1 : Nous devons d’abord ouvrir la table WPS qui doit être triée
