Ta bort dubletter från array
Hej
Ny när det gäller c++.
Har en integer array som jag har sorterat. Det finns ett antal dubletter i arrayen som jag vill ta bort.
Undrar om någon kan hjälpa mig på traven här lite grand.
/Fredric
Svara
Sv: Ta bort dubletter från array
Finns flera sätt, det lämpligaste är att använda inbyggda funktioner. Det ser dock ut som att du läser detta i någon kurs där läraren är ett pucko, eftersom man inte bör använda arrayer heller. Du måste alltså förmodligen lösa det själv.
Enklaste principen i pseudo-kod blir då typ (helt otestad):
array = {...}
new_array = int[(size of array)]
for(i = 0, j =0; i<max; i++)
{
if(i==0 || array[i] != array[i-1]) {
new_array[j] = array[i];
j++;
}
}
Med den här lösningen kommer new_array vara lika stor som array, men där bara de j första talen är meningsfulla. Du kan därför behöva minska storleken på arrayen också.
Svara
Sv:Ta bort dubletter från array
Hej
Tack, funkar!
Ja jag läser en kurs, jag är nog ett större pucko än vad min lärare är ;-)
När du säger att man inte bör använda arrayer heller, menar du generellt
eller just i detta fallet? Vad kan jag använda istället som är bättre?
Svara