"flytning" af array i konstant tid?

Tags:    c++

Hvis jeg har et array arr[n], og jeg gerne vil flytte arr[m+1], arr[m+2],..,arr[m+p] over i arr[m+2], arr[m+3], ..., arr[m+p+1] kan jeg så gøre det i konstant tid - altså så den ikke afhænger af hverken m,n eller p?

Fx: Hvis n=12 så arr = {0,1,2,3,4,5,6,7,8,9,10,11}
og jeg vælger m = 3, p = 4 skulle det blive til:
{0,1,2,3,4,4,5,6,7,9,10,11}



2 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Det bliver nok svært at flytte i konstant tid.
Du kan overveje at indeksere dig ud af problemet, dvs. beregne hvorfra du skal læse/skrive ud fra n, m og p.



Det var også det jeg tænkte. Det kunne bare være smart hvis man kunne :) Men tak for svaret.



t