Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Guest Message by DevFuse
3rdParty
CSX
DoDX
Engine
ESF
Fakemeta
Fun
GeoIP
HamSandwich
JSON
NS
nVault
REAPI
Sockets
Sql
SQLx
TFCX
TSFUN
TSX
ammopacks
amxbans_core
amxbans_main
atac
basebuilder
celltrie
chr_engine
cod
codmod
colorchat
credits
csdm
dHUD
diablo_nowe
entlib
expmod
expmod_achievements
expmod_mission
expmod_shop
fvault
ggpro
gunxpmod
ncodmod
netdb
orpheu
orpheu_advanced
orpheu_const
orpheu_memory
orpheu_stocks
pokemod
roulette
StripWeapons
zmvip
zombie_plague_advance
zombieplague
zombieplaguenew1.3
Coreamxbans_core
amxbans_main
atac
basebuilder
celltrie
chr_engine
cod
codmod
colorchat
credits
csdm
dHUD
diablo_nowe
entlib
expmod
expmod_achievements
expmod_mission
expmod_shop
fvault
ggpro
gunxpmod
ncodmod
netdb
orpheu
orpheu_advanced
orpheu_const
orpheu_memory
orpheu_stocks
pokemod
roulette
StripWeapons
zmvip
zombie_plague_advance
zombieplague
zombieplaguenew1.3
amxconst
amxmisc
amxmodx
cellarray
chatcolor
core
datapack
file
float
hlsdk_const
lang
message_const
message_stocks
messages
newmenus
sorting
string
time
vault
vector
Cstrikeamxmisc
amxmodx
cellarray
chatcolor
core
datapack
file
float
hlsdk_const
lang
message_const
message_stocks
messages
newmenus
sorting
string
time
vault
vector
CSX
DoDX
Engine
ESF
Fakemeta
Fun
GeoIP
HamSandwich
JSON
NS
nVault
REAPI
cssdk_const
hlsdk_const
reapi
reapi_engine
reapi_engine_const
reapi_gamedll
reapi_rechecker
reapi_reunion
reapi_vtc
Regexhlsdk_const
reapi
reapi_engine
reapi_engine_const
reapi_gamedll
reapi_rechecker
reapi_reunion
reapi_vtc
Sockets
Sql
SQLx
TFCX
TSFUN
TSX
SortCustom2D
Dodane 04.05.2010 17:04 przez: R3X#
Opis
Sortuje dwuwymiarową tablicę liczb całkowitych. Wykorzystuje algorytm qsort (szybkiego sortowania).
Funkcja pozwala na zdefiniowanie procedury porównującej elementy.
Składnia
SortCustom2D(array[][], array_size, const comparefunc[], data[], data_size=0)
Typ
NatywnyNotatki
- array - tablica do posortowania, po wywołaniu funkcji zapisywany jest w niej wynik.
- array_size - ilość elementów w tablicy.
- comparefunc - nazwa publiczne funkcji, która będzie decydować o kolejności elementów.
- data - nasze dane przydatne podczas porównywania elementów.
- data_size - wielkość tablicy naszych danych.
Funkcja porównująca ma mieć postać:
public MySortFunc(const elem1[], const elem2[], const array[], const data[], data_size)
gdzie:
- elem1 - pierwszy element do porównania (tablica).
- elem2 - drugi element do porównania (tablica).
- array - pomniejsza tablica (powstała przy podziale qsort).
- data - nasze dane.
- data_size - wielkość tablicy z naszymi danymi.
O kolejności decyduje wartość zwrócona przez funkcję dla danych elementów
- -1 - elem1 idzie przed elem2.
- 0 - elem1 i elem2 są równe.
- 1 - elem1 idzie za elem2.
Przykład
// Niech myArray przechowuje informacje o ilości zabójstw i śmierci graczy. new myArray[][] = { {3, 5} }; // Czyli jest tylko 1 gracz który zabił 3 osoby, a 5 razy zginął public plugin_init() { //Zabójstwa i śmierci new myArray[][] = { {3, 5}, {5, 3}, {5, 2}, {3, 1}, {7, 10} }; new len = 5; // lub new len = sizeof(myArray); SortCustom2D(myArray, len, "porownaj2D"); for(new i=0; log_amx("%d, %d", myArray[i][0], myArray[i][1]); } } /* * Sortowanie malejące * * Nie używamy własnych danych, więc data[] i data_size nie są potrzebne * podobnie jak array, więc lista parametrów skróciła się do 2 */ public porownaj2D(const elem1[], const elem2[]){ if(elem1[0] == elem2[0]){ //gdy ilość zabójstw obu graczy jest równa //o kolejności decyduje ilość śmierci if(elem1[1] == elem2[1]) //no cóż, takie same staty return 0; else if(elem1[1] < elem2[1]) //zabił tyle samo przeciwników, lecz ginął rzadziej -> idzie przed return -1; //zabił tyle samo przeciwników, lecz ginął częściej return 1; } else if(elem1[0] > elem2[0]) // zabił więcej przeciwników, więc idzie przed return -1; //zabił mniej przeciwników return 1; } /* Konsola L 05/04/2010 - 17:56:08: [sort.amxx] 7, 10 L 05/04/2010 - 17:56:08: [sort.amxx] 5, 2 L 05/04/2010 - 17:56:08: [sort.amxx] 5, 3 L 05/04/2010 - 17:56:08: [sort.amxx] 3, 1 L 05/04/2010 - 17:56:08: [sort.amxx] 3, 5 */
Zakaz używania, kopiowania i innego wykorzystywania treści witryny oraz innych materiałów w niej zawartych bez zgody autorów. Wszelkie prawa zastrzeżone. © 2009-2025