sorgusu: 0 4 1 0 0foreach
secQuery: 1 1 0 0 3
I elemanları karşılaştırmak gerekir: 0 ve 1, 4 ve 1, 1 ve 0, 0 ve 0 0 ve 3. Fakat mola, ikinci foreach'ımı durdurur.
foreach (var a in query)
{
bool flag = false;
foreach (var b in secQuery)
{
if (b > a)
{
count++;
}
flag = true;
break;
}
if (flag) continue;
}
Ve bu:
foreach (var a in query)
{
foreach (var b in secQuery)
{
if (b > a)
{
count++;
}
//break; continue;
}
}
Gösterilen kod pasajı, birinci listedeki her öğeyi ikinci öğedeki tüm öğelerle karşılaştırır. Tamam mı? –
Neden her dizinin en az uzunluğu boyunca yinelemek için bir '' kullanmayın? (Int i = 0; i secQuery [i]) sayın ++; "Sorgu" öğesinin her öğesini "secQuery" öğesinin diğer öğeleriyle karşılaştırıyorsunuz, karmaşıklık n². Öncelikle sorununuzu öncelikle tanımlayın. İlk iterasyondan sonra niçin iç “foreach” döngüsünde “kırmak” ve sonra da dışını kırmak istediğinizi anlamıyorum. –