Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*****************************************************************/
- /* CON GLI INT (int array[]) */
- /*****************************************************************/
- void scambia(int array[], int first, int last){
- int temp = array[first];
- array[first] = array[last];
- array[last] = temp;
- }
- void stampa(int array[], int length){
- for (int index=0; index < length; ++index)
- cout << array[index] << ' ';
- }
- void selection_sort(int array[], int length){
- // Seleziona la posizione in cui porre l'elemento ordinato (indexA)
- for (int indexA = 0; indexA < length - 1; indexA++)
- {
- // Dichiara una var. temp. "smallestIndex"
- // Momentaneamente assegnagli l'indice di indexA... prendilo per buono
- int smallestIndex = indexA;
- // Cerca l'elemento più piccolo nel sotto-array disordinato a dx (posizione indexB)
- for (int indexB = indexA +1 ; indexB < length; indexB++)
- {
- // Se abbiamo trovato un elemento più piccolo...
- if (array[indexB] < array[smallestIndex])
- // ...salvati il suo indice
- smallestIndex = indexB;
- }
- //Finito di scansionare l'array disordinato, scambia i 2 numeri
- scambia(array, indexA, smallestIndex);
- }
- }
- /*****************************************************************/
- /* CON LE STRINGHE DI CARATTERI CPP-STYLE (string array[]) */
- /*****************************************************************/
- void scambia(string array[], int first, int last){
- string temp = array[first];
- array[first] = array[last];
- array[last] = temp;
- }
- void stampa(string array[], int length){
- for (int index=0; index < length; ++index)
- cout << array[index] << ' ';
- }
- void selection_sort(string array[], int length){
- // Seleziona la posizione in cui porre l'elemento ordinato (indexA)
- for (int indexA = 0; indexA < length - 1; indexA++)
- {
- // Dichiara una var. temp. "smallestIndex"
- // Momentaneamente assegnagli l'indice di indexA... prendilo per buono
- int smallestIndex = indexA;
- // Cerca la stringa che viene prima nel sotto-array disordinato a dx (posizione indexB)
- for (int indexB = indexA +1 ; indexB < length; indexB++)
- {
- // Se l'abbiamo trovata...
- if (array[indexB] < array[smallestIndex])
- // ...salvati il suo indice
- smallestIndex = indexB;
- }
- //Finito di scansionare l'array disordinato, scambia le 2 stringhe
- scambia(array, indexA, smallestIndex);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement