Advertentie | |
|
08-10-2007, 21:32 | |
Eigenlijk komt dit neer op de gekende sorteeralgoritmes; waarbij je dan gaat sorteren op die index-waarde. Het makkelijkste lijkt me een selection sort (voor een klein aantal maakt het meestal niet uit welk algoritme je gebruikt).
Op WikiPedia staat er meer uitleg, enkele heel simpele mogelijkheden zijn: http://en.wikipedia.org/wiki/Selection_sort en http://en.wikipedia.org/wiki/Insertion_sort Waar de selection sort op neerkomt is eigenlijk het volgende (in Pascal-pseudocode) Code:
FOR i := first TO last DO BEGIN min = index(i); FOR j := i + 1 TO last DO BEGIN IF index(j) < min THEN BEGIN min:= index(j); Swap(i,j); END END; END; Afhankelijk van waarvoor het dient, is je werkwijze inderdaad misschien niet de meest optimale, lijkt me; maar het is voor heel wat werk optimaal genoeg Maar daarvoor is die index-formule dus onder andere wel van belang (net zoals je eigenlijke doel; al krijg je in informatica toch meestal geen al te moeilijke optimalisatieproblemen, als je backtracking gehad hebt, kan je dat ook altijd proberen). Wat je ook altijd kan doen is, gewoon bij elke rij een extra kolom/rij maken en dan zal er in Excel wel een functie zitten die die rijen automatisch kan sorteren op die bepaalde index-kolom en daarna gooi je die kolom weer gewoon weg Dat gaat minder werk zijn (maar wel een beetje prutsen met die extra kolom).
__________________
vaknar staden långsamt och jag är full igen (Kent - Columbus)
|
Advertentie |
|
|
|