Ordinamento semplice
Lezione 12 di 26 del corso Gli array in C++ di Coddy.
Quando un array è ordinato, è più facile rispondere a molte domande, ad esempio qual è l'elemento più grande o più piccolo, ecc. La tecnica di base per ordinare un array consiste nell'usare due iteratori.
1. Creiamo un ciclo annidato all'interno di un ciclo for e confrontiamo l'elemento i-esimo con tutti gli elementi che lo seguono.
for(int i=0;i<m;i++){
for(int j=i+1;j<n;j++){
//confronta gli elementi
}
}2. Se l'elemento i-esimo è maggiore di quello j-esimo, scambiamo questi due.
for(int i=0;i<m;i++){
for(int j=i+1;j<n;j++){
if(arr[i]>arr[j]){
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}L'array verrà ordinato.
Sfida
Dato un array non ordinato e la sua lunghezza n, stampa il secondo elemento più grande e il secondo più piccolo, rispettivamente, separati da uno spazio.
Provalo tu
#include<iostream>
using namespace std;
int main(){
int n;
cin>>n;
int arr[n];
for(int i=0;i<n;i++){
cin>>arr[i];
}
//Code here
return 0;
}Tutte le lezioni di Gli array in C++
Esercitati da solo: Compilatore C++ online