Mam wielki wektor z 24.000 elementów, takich jak:C++ sprawdzić ile same elementy w jednym rzędzie są w wektorze
(1,1,1,1,3,3,3,3,3,3,5,5,5,...etc)
i chcę, aby sprawdzić, ile same elementy są w jednym rzędzie tak: 4 -6-3..etc używam tego kodu:
static int counter=1;
vector<int>numbers;
for(int n=0;n<numbers.size()-1;n++)
{
if(numbers[n]==numbers[n+1])
{
counter++;
}
else if(numbers[n]!=numbers[n+1])
{
cout<<counter<<endl;
counter=1;
}
}
jest jakiś algorytm, który robi to samo szybciej;
Czy wektor jest posortowany? –
Możesz usunąć drugą instrukcję if() i dbać o ostatni element. – MBo
@SonicpathSonicwave to wektor zawierający {1, 2, 3, 1} możliwe wejście? – stefan