Problema per me. Sto scrivendo gli algoritmi di selection sort e di quick sort con e senza puntatori per vedere i relativi vantaggi di uno o l'altro. Ma ho un grosso problema dato che per fare test del genere ho bisogno di grandi quantità di dati ho creato un file di testo con 10000000 di numeri. Vorrei far ordinare questo file dagli algoritmi. Ecco il problema: qual'è la dimensione massima di un array? Con il tipo vector non ho problemi, il vettore è inizializzato e va bene, però a me serve usare gli array che teoricamente sono + efficaci dei vector, anche perchè non ho bisogno di ridimensionare il vettore, la dimensione è fissa. Mi da un errore di segmentation fault. (se interessa sto su linux)
ecco il frammentino di codice.
codice:
const long DIM = 10000000;
long a[DIM];
ifstream lista;
lista.open("listadinumeri.txt");
long i=0;
cout<<"Inizializzazione vettore, attendere l'operazione può richiedere molto tempo data la quantità di dati..."<<endl;
while (i<DIM) {
lista>>a[i];
i++;
}
cout<<"Inizializzazione finita!"<<endl;
lista.close();
le cose sono due, o non posso dichiarare un array di dimensione long (e qui sarei io il co***ne) o mi devo arrendere a fare il test con array + piccoli.
Se al posto dell'array uso vector<long> a(DIM); va tutto bene