Come invertire una stringa in Do

How Reverse String C



Nella codifica delle stringhe, l'inversione delle stringhe è un argomento cruciale. Esistono anche diversi metodi per invertire una stringa, ognuno dei quali ha una logica diversa. Questo articolo ti mostrerà come invertire correttamente una stringa per utilizzare diversi approcci e ragionamenti distinti con e senza richiedere alcuna funzione preimpostata. Ogni volta che viene applicata l'inversione di una tecnica di stringa in una particolare stringa di input univoca, il testo che un consumatore fornirebbe in un ordine specifico verrà completamente invertito. Nell'esempio riportato di seguito, sono state impiegate diverse alternative per invertire una stringa con C.

Durante l'implementazione di questa guida, abbiamo lavorato sul sistema Ubuntu 20.04 Linux configurato su Virtual Box. Mentre lavoravamo su un sistema Linux, eseguivamo la maggior parte delle nostre installazioni e query sulla shell del terminale. Quindi, apri la shell del terminale con una scorciatoia Ctrl+Alt+T o cercala tramite una barra di ricerca dell'applicazione nell'area Attività del desktop Ubuntu. È necessario aggiornare prima il sistema tramite la query di aggiornamento apt. Ti chiederà la password dell'utente corrente per eseguire l'aggiornamento. Quindi, aggiungi una password e premi il pulsante Invio.







$ sudo apt update



Poiché abbiamo utilizzato il linguaggio di programmazione C per elaborare il concetto di inversione delle stringhe nel sistema Ubuntu 20.04, si dovrebbe avere un compilatore C installato sul proprio sistema Ubuntu. Quindi assicurati di installare il compilatore GCC sul tuo sistema tramite la query seguente.



$ sudo apt install gcc

Esempio 01: utilizzo del ciclo For

Dopo l'installazione e la configurazione del compilatore GCC e l'aggiornamento del pacchetto apt, si gira per creare un nuovo file. Questo file dovrebbe essere di tipo C; quindi, usa il comando touch per creare un file new.c come di seguito. Questo file verrà utilizzato nel nostro codice d'ora in poi durante l'implementazione di programmi di stringa inversa.





$ tocco nuovo.C

Ora puoi aprire questo file per la modifica o la codifica con un editor Nano integrato nel tuo sistema Linux Ubuntu 20.04. Pertanto, prova le istruzioni di seguito nella tua shell per farlo.



$ nano nuovo.C

Il file di tipo C appena creato è stato aperto nel GNU Nano Editor del sistema Ubuntu 20.04. Devi scrivere uno script C in esso, come presentato nell'immagine dello screenshot qui sotto. Cerchiamo di elaborare questo codice per una migliore comprensione. All'inizio di un codice, abbiamo incluso due librerie. La libreria stdio.h è stata utilizzata per prendere input e visualizzare gli output e l'altra libreria string.h è stata utilizzata per utilizzare tutti i tipi di stringhe nel nostro codice. Tutto il lavoro di inversione di una stringa verrà eseguito nel metodo main() di un codice C. Abbiamo dichiarato una stringa di tipo carattere str con dimensione 50. Ciò significa che una stringa con più di 50 caratteri non può essere inserita in questo codice. Successivamente, abbiamo dichiarato due variabili di tipo intero. La variabile l è stata utilizzata per raccogliere la lunghezza di una stringa str e la variabile I verrà utilizzata come inizializzatore nel ciclo for. Quindi abbiamo usato un'istruzione printf per stampare un testo sulla stringa Enter della shell, dicendo a un utente di aggiungere un valore a una variabile stringa. Il metodo scanf() è stato utilizzato per inserire l'utente in fase di esecuzione e salvare quel valore in una stringa str. La funzione strlen() è stata utilizzata per controllare la lunghezza di una stringa str che è stata aggiunta da un utente in fase di esecuzione e salvarla in una variabile l'. Quindi abbiamo inizializzato un ciclo for per invertire la stringa str. Puoi vedere che l'inizializzatore I' sta prendendo il valore da una variabile l per invertire la direzione di una stringa. Quindi stampa i caratteri di una stringa str' uno per uno invertiti. Nell'ultimo, il metodo principale è stato terminato. Salva questo file usando Ctrl+S e chiudilo con Ctrl+X.

Ora è il momento di compilare il codice e verificarne l'output. Quindi, la compilazione è stata eseguita dalla query gcc sotto indicata con il nome di un file new.c.

$ gcc nuovo.C

Poiché la compilazione ha esito positivo, significa che non ci sono errori nel nostro codice. Eseguiamo il nostro file tramite una query.out nella shell come segue:

$./a.fuori

Il processo di esecuzione chiederà all'utente di aggiungere una stringa. Abbiamo aggiunto I-Am-Aqsa-Yasin e premuto Invio. Puoi vedere che restituisce il contrario di una stringa nella riga seguente.

Esempio 02: utilizzo dello scambio

In questo esempio, utilizzeremo il metodo swapping per invertire l'ordine di una stringa. Quindi apri nuovamente il file new.c usando l'editor nano come segue:

$ nano nuovo.C

Ora il file è stato aperto nell'editor GNU nano; dobbiamo aggiornare il file di codice con lo script mostrato di seguito nello screenshot. Abbiamo incluso il file di intestazione standard di input e output nel nostro codice utilizzando prima una parola chiave #include. Abbiamo definito un metodo Reverse() in base all'utilizzo della tecnica di scambio. Abbiamo inizializzato tre variabili di tipo intero new, I e swap. Il primo ciclo for viene utilizzato per verificare se la stringa s è vuota o meno. Il ciclo for successivo viene utilizzato per l'iterazione e nel suo corpo abbiamo scambiato i valori utilizzando le variabili new e swap. Vale la pena notare che l'inversione di una stringa di n lunghezza richiede solo n/2 round. Una volta che le stringhe sono state scambiate, dovrai ripetere il ciclo per mostrare la stringa invertita, cosa che facciamo all'interno della nostra applicazione utilizzando un terzo ciclo for. La funzione Reverse() deve essere chiamata dal programma principale interno. Hai indicato le prestazioni del tuo software con printf nel contesto di main(). Successivamente, hai utilizzato scanf() per ottenere l'input dell'utente e invocato il metodo Reverse(). Ora salva di nuovo il file usando Ctrl+S e lascia l'editor nano con la scorciatoia Ctrl+X e torna alla shell del terminale.

Compilare prima il codice con una query gcc come di seguito.

$ gcc nuovo.C

Ora esegui il file di codice usando la stessa istruzione ./a.out.

$./a.fuori

Ti chiederà di inserire il valore della stringa. Abbiamo aggiunto AqsaYasin e ottenuto il suo contrario.

Esempio 03: utilizzo della ricorsione

In questo esempio, utilizzeremo la ricorsione per invertire una stringa aggiunta da un utente. Quindi apri di nuovo il file.

$ nano nuovo.C

Questo programma stampa Immettere una frase: Viene quindi utilizzato un metodo Reverse(). La lettera iniziale immessa da un utente viene salvata in c tramite questo metodo. Reverse() viene eseguito di nuovo se l'argomento è diverso da (newline). Questa procedura continua finché l'utente non preme il tasto Invio. Ogni volta che l'utente preme invio, il metodo Reverse() stampa il testo in ordine inverso. Salva e chiudi il file.

Compilare prima il codice e poi eseguirlo utilizzando i comandi precedenti come segue:

$ gcc nuovo.C

$./a.fuori

Puoi vedere che prende l'input da un utente come un'intera frase di stringa e quindi inverte l'ordine di quella frase.

Conclusione:

Infine, abbiamo fatto tre esempi per elaborare l'inversione di un input di tipo stringa con metodi diversi, ad esempio, utilizzando il ciclo for, utilizzando la ricorsione e utilizzando lo scambio.