void dyn_array::expand(){ int* a = new int[(int)ceil(size * K)]; for(int i = 0; i < num; i++){ a[i] = E[i]; } delete[] E; //Free whatever E points to E = a; //E points to array size = (int)ceil(K * size); }
void dyn_array::contract(){ int* a = new int[(int)ceil(size/K)]; for(int i = 0; i < num; i++){ a[i] = E[i]; } delete[] E; //Free whatever E points to E = a; //E points to a size = (int)ceil(size/K); }
Takker for points. Jeg er helt enig med Arne i, at STL vector er et godt bud. Men samtidig - hvis du vil have dit egenudviklede array - som x-man-man var inde på - mener jeg, at du bør lave det som en template. En template er generisk kode, hvor man, hvis det bruges rigtigt, kan bruge alle standard datatyper - samt egenudviklede datatyper (klasser) bare de overholder kriterierne for de fundamentale typer. Prøv at kigge i en bog - det er faktisk brugbart i mange sammenhænge.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.