Classifique os caracteres de uma string em C ++

Classifique os caracteres de uma string em C ++
Classificar uma string é considerada uma organização em uma ordem ascendente ou decrescente, ou qualquer ordem fornecida em C ++, que nada mais é do que obter as seqüências dadas em uma ordem apropriada ou em determinada ordem pode ser expressa à medida que as cordas são classificadas na organização especificada, arranjo. A saída de um programa de classificação é uma entrada reorganizada ou uma permutação dessa entrada. Em C ++, existem vários métodos para classificar strings implementando algoritmos de classificação: classificação de bolhas, tipo de inserção, bibliotecas STL, etc. Esses métodos classificaram os caracteres da string em ordens ascendentes ou decrescentes.

Métodos de classificar string e caracteres de uma string em c++

Existem várias estratégias de classificação disponíveis para organizar uma corda em uma determinada ordem. Entre eles estão:

Tipo de bolha

Um dos algoritmos de classificação mais simples em C ++ é a bolha. As cordas são classificadas usando essa abordagem comparando as cordas ou caracteres próximos na string. Em seguida, troque -os na ordem fornecida, que pode ser organizada em ordem alfabética em C++.

Classificação de inserção

O algoritmo de classificação de inserção seleciona os caracteres um de cada vez e os insere na posição apropriada. Cada iteração do método de classificação de inserção pega um personagem da lista fornecida e a insere na sub-string classificada. O método leva o personagem e o insere na posição certa, dependendo do valor ASCII enquanto classifica a alfabética.

Função da biblioteca padrão

Ao importar o arquivo de cabeçalho em nosso código, podemos utilizar o método de classificação da biblioteca de modelos padrão C ++. Comparado à criação do código, o uso deste método embutido é mais fácil e rápido.

Também podemos usar std :: sty () em c++. A função STD :: Sort () é uma função de biblioteca de modelos padrão (STL) em c++. O método aceita um começo e um iterador final e, por padrão, é organizado em ordem crescente. Ao entregar uma operação de comparador que retorna um booleano, o método também pode ser usado para classificação específica.

Exemplo 1

A função de classificação é uma das maneiras mais fáceis de classificar o personagem de string. A única coisa necessária é apenas importar a biblioteca padrão de C++. O código começa com a importação do padrão “STDC++.biblioteca H ”na seção de cabeçalho. A biblioteca contém todos os arquivos da biblioteca padrão. O "namespace std" também está incluído no código.

Após a seção do cabeçalho, criamos uma função vazia como "mystring" e passamos uma string de referência "SortStr" no construtor. Em seguida, invocamos o método Sort () na função "mystring". O método stor () tem o iterador de partida e o iterador final, que classificam o caractere de string em ordem crescente. A string classificada será impressa através da declaração Cout.

Agora, temos a principal função em que declaramos uma string como "strval" e inicializamos. A string "strval" é passada na função "mystring" para classificar a string dada.

#incluir
usando namespace std;
Void MyString (String & SortStr)

classificar (sortStr.BEGIN (), SortStr.fim());
cout << SortStr;

int main ()

String strval = "ProgrammingLanguage";
Mystring (strval);
cout << "\n";
retornar 0;

O método Sort () classificou os caracteres da string em ordem ascendente. O resultado de caracteres de sequência de ordem ascendente é mostrado na imagem.

Exemplo2

Também podemos classificar os caracteres de string ou string usando o método STD :: Sort, que está incluído na biblioteca interna C ++ . O código a seguir possui duas bibliotecas, "iostream" e "algoritmo" na seção de cabeçalho. Através da biblioteca "algoritmo", podemos acessar o método de classificação STD ::.

Após a seção do cabeçalho, temos a principal função na qual definimos uma matriz de string como "cores" e a inicializamos com algumas palavras. Em seguida, temos que definir um tamanho de matriz igual a "5" em um "arsize" do tipo de dados inteiro. Agora, a utilização do método de classificação std :: leva uma variedade de "cores" e o tamanho da matriz como argumento para classificar a string.

Existe uma declaração para loop na próxima linha de código, que itera o loop até o tamanho da matriz "5" para uma matriz de string. A declaração cout imprimirá a matriz classificada em ordem ascendente.

#incluir
#incluir
usando namespace std;
int main ()
cores de cordas [] = "rosa", "cinza", "amarelo", "azul", "vermelho";
int arrsize = 5;
std :: Sort (cores, cores + arsize);
para (int a = 0; a < 5; a++)
cout<
retornar 0;

A saída da sequência de função da biblioteca padrão mostrada abaixo é classificada em ordem alfabética.

Exemplo 3

Uma estratégia eficaz seria o primeiro a perceber que só pode haver 26 caracteres distintos. Portanto, em uma matriz de hash, podemos armazenar o número de ocorrências de cada personagem de 'a a' z.'Vamos apenas pesquisar a matriz de hash e produzir os caracteres de' a 'para' z ', pois eles aparecem várias vezes na string de entrada. Assim, para implementar o código, importamos uma biblioteca padrão, “STDC++.h ”o que nos ajuda a classificar a matriz especificada.

Agora, declaramos a variável "caracteres" com a palavra -chave "const" e a inicializamos com o valor "26". Em seguida, temos uma função chamada "SortStr" que leva a referência de uma string classificada como "strx". Na função, criamos uma matriz de hash como "contagem". Inicialmente, a contagem inicial de caracteres é inicializada com zero. Após a inicialização da matriz de hash, temos uma declaração para loop que atravessa a string e incrementa a contagem de personagens. O primeiro índice da matriz de hash representa o personagem 'A'; o segundo representa 'B', etc.

Então, para a posição do personagem na contagem de uma matriz de hash, usamos strx [i]-'a'. Temos um loop aninhado para atravessar e comparar o personagem através da string. Se a variável "j" no loop for maior que o personagem da contagem na variável "i". A matriz de hash de string vai atravessar e imprimir os personagens. Nas últimas linhas, temos a principal função em que declaramos e inicializamos a string para a função "mystring".

#incluir
usando namespace std;
const int caracteres = 26;
Void SortStr (String & Strx)

int contatchar [caracteres] = 0;
para (int i = 0; iContagem [strx [i]-'a'] ++;
para (int i = 0; ifor (int j = 0; jcout << (char)('a'+i);

int main ()

string mystring = "welcomefriends";
SortStr (mystring);
cout <<"\n";
retornar 0;

O resultado do caráter classificado da string é exibido na tela do terminal a seguir.

Exemplo 4

Na programação C ++, devemos pedir ao usuário que forneça alguns nomes para organizar strings (nomes) em ordem alfabética (strings). Então, conforme indicado no código abaixo, classifique essas seqüências de entrada ou nomes alfabeticamente. Temos o algoritmo de classificação de bolhas para esta ilustração. O código tem a principal função em que definimos uma matriz de caracteres "AllName" do tamanho da matriz "5" e o valor do caractere de "10". Além disso, temos outra matriz "nome" da string de tipo de dados e definimos o valor do caractere como "10".

Em seguida, definimos uma variável do tipo inteiro "x" e "y". A matriz de caracteres será a entrada do usuário neste código. O usuário entrará na sequência de nomes de cinco caracteres. Agora, temos declarações de loop aninhadas e, no bloco de loop aninhado, temos uma condição que usa a função "strcmp" para comparar duas strings. Depois de comparar as cordas, invocamos a função "strcpy" para trocar os nomes da string. Como resultado, temos a ordem alfabética classificada de nomes de cordas.

#incluir
#incluir
usando namespace std;
int main ()

Char Allname [5] [10], nome [10];
int x, y;
cout<<"Enter Names: ";
for (x = 0; x> allName [x];
para (x = 1; x<5; x++)

para (y = 1; y0)

strcpy (nome, allname [y-1]);
strCpy (AllName [y-1], AllName [y]);
strCpy (AllName [y], nome);



cout<<"\nAlphabetical order of Names :\n";
para (x = 0; x<5; x++)
cout<cout<retornar 0;

No começo, você deve inserir cinco nomes aleatórios; Em seguida, ele classificará os nomes de strings em ordem alfabética. Os nomes de strings classificados resultantes em ordem alfabética são exibidos abaixo.

Conclusão

Concluímos que o caráter da classificação de string no C ++ é realizado através de vários algoritmos de classificação. Aqui, exploramos como classificar uma string em C ++ com alguns exemplos de classificação e como classificar uma string usando alguns algoritmos de classificação. Todas as implementações dos códigos são feitas no Ubuntu 20.04 Usando o compilador G ++. Esperamos++.