Indsæt værdi i et array

Tags:    .net

Hejsa

Jeg har et int array hvori jeg gerne vil indsætte en værdi på en bestemt plads.
Men de værdier efter det skal rykke sig en plads videre, så det kan bruges til en highscore.

Så det højeste tal er altså på plads [0].
Men hvis jeg indsætter en værdi på plads [3], så skal værdien der var i plads [3] hoppe videre til plads [4] og den der var i plads [4] til [5] osv.

Tænkte der måske var en insert function eller noget, som bare ville indsætte en værdi uden at overskrive et andet tal, men blot rykke indexeringen.

Håber i forstår mit spørgsmål :-)



5 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Hej Mathias,

Jeg vil tro at en liste vil være mere egnet til det du laver. Er det fx bare simple tal du vil gemme, kan det være en List<int>. List klassen har en Insert() metode du kan bruge til at indsætte en værdi på et specifikt sted i listen :)

Mvh.

Kasper (TSW)



Helt klart et List<int> ... hvis jeg forstår det korrekt, så vil du have at dit array skal "vokse" med tiden, og det er ikke muligt, selv om det er i andre sprog.

List er vejen frem - og Bertels mulighed er den nemmeste, men ikke den "pæneste"... i dit tilfælde, hvor det blot er en lille række tal, er det dog underordnet, da det er meget lidt der kræves fra processoreren.

Ellers må du løbe listen igennem, finde index og sætte det ind der. Mere kode, men mindre belastning, da det som sagt er "dyrt" at sortere en list - men det er det også at rykke et index!



Hvis ikke du bruger en list skal du oprette et nyt punkt i dit array også rykke alle værdier efter det nye en gang ned også sætte det nye ind på den nye plads du nu har lavet.



Det letteste er måske at indsætte det nye element som det sidste i listen, og derpå sortere listen. Det kræver måske lidt ekstra arbejde af processoren, men meget lidt arbejde af programmøren.



Siden det er en highscore er det vel også relevant at huske hvem der egentlig satte den?

Fold kodeboks ind/udCSharp kode 




Indlæg senest redigeret d. 21.08.2011 00:09 af Bruger #14652
t