CHAT MAIOR

8 de abr. de 2011

[COD] Bubble Sort em Pawn (Para Rankings)

Bubble Sort

Um dos melhores sistemas de classificações

BubbleSort( Array[], iSize)
{
new
iLoop = 0x0,
iCircuito = 0x0,
iTemp = 0x0;

while(++iLoop < iSize)
{
iCircuito = (0x-1);
while(++iCircuito < iLoop)
iTemp =
((Array[iLoop] > Array[iCircuito] ) ? ( iTemp = Array[iLoop], Array[iLoop] = Array[iCircuito], Array[iCircuito] = iTemp) : (0x0));
}
return Array;
}

Ele separa as index das arrays por maior valor (de maior valor por primeiro)

Exemplo
Scores:

if(!sctrmp("/rank",cmdtext,true))
{
//Array de forma não classificada
static Array[MAX_PLAYERS];

for(new
i; i < MAX_PLAYERS; ++i)
{
Array[
i] = GetPlayerScore(i);
}


//Classificar Array
BubbleSort(Array,sizeof(Array));


//Enviar Mensagem
static sName[24],sStr[128];
for(new
i; i < MAX_PLAYERS; ++i)
{
GetPlayerName(i,sName,23);
format(sStr,128,"[COLOCAÇÃO %03d] Player: %s | Score: %s",i + 0x1,sName,Array[i]);
SendClientMessage(playerid,0xFFFFFFF,sStr);
}
return
true;
}

Créditos
Criado por DraKiNs
Thanks to Dice7 and Creator Bubble Sort

Nenhum comentário:

Postar um comentário