Citat:
Jag har testat vidare lite men får inte till det.
Jag skapar ett objekt av leksaken:
Kod:
public void add(string name, int price, int position)
{
leksaker[position] = new leksak(name, price);
}
I klassen "leksak" använder jag en metod för att hämta priset
Kod:
public int get_price()
{
return price;
}
Jag försöker att sortera vektorn nedan
Kod:
public void bubblesort()
{
int max = leksaker.Length - 1;
for (int i = 0; i < max; i++)
{
int nrLeft = max - i;
for (int j = 0; j < nrLeft; j++)
{
if (leksaker[j].get_price() > leksaker[j + 1].get_price())
{
leksak temp = leksaker[j];
leksaker[j] = leksaker[j + 1];
leksaker[j + 1] = temp;
}
}
}
}
Problemet nu är att jag har en vektor där vissa av positionerna fortfarande är tomma. När jag försöker jämföra
Kod:
if (leksaker[j].get_price() > leksaker[j + 1].get_price())
Så är vissa positioner i vektorn = null, och då kraschar programmet.
Hur löser jag detta? Har försökt med if satser och while loopar men får inte till det.