Açıklama:
Bu stock ile tek boyutlu sayısal dizilerinizi küçükten büyüğe veya büyükten küçüğe doğru sıralayabilirsiniz.
PHP- Kodu:
stock dizi_sirala( dizi[] , maxlen, flag=1 ) {
static num_tmp, array_tmp;
switch(flag) {
case 1:{
for(new i ; i<maxlen ; i++) {
num_tmp = i;
for(new j = i+1 ; j<maxlen+1 ; j++) {
if(dizi[num_tmp] > dizi[j]) {
num_tmp = j;
}
}
if( num_tmp != i) {
array_tmp = dizi[num_tmp];
dizi[num_tmp] = dizi[i];
dizi[i] = array_tmp;
}
}
}
case 2:{
for(new i ; i<maxlen ; i++) {
num_tmp = i;
for(new j = i+1 ; j<maxlen+1 ; j++) {
if(dizi[num_tmp] < dizi[j]) {
num_tmp = j;
}
}
if( num_tmp != i) {
array_tmp = dizi[num_tmp];
dizi[num_tmp] = dizi[i];
dizi[i] = array_tmp;
}
}
}
}
}
Ayrıntılar:
1. parametre = Sıralanacak sayıları içeren tek boyutlu dizi.
2. parametre = Dizinin maksimum uzunluğu. ( charsmax(dizi) )
3. parametre = Sıralama şekli ( 1: Küçükten büyüğe doğru, 2: Büyükten küçüğe doğru )
Örnek:
PHP- Kodu:
new array[10] = { 5, 8, 1, 3, 0, 4, 9, 2, 6, 7 }
/***********************************************/
dizi_sirala(array, 9, 1)
// Son Hali:
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
/************************************************/
dizi_sirala(array, 9, 2)
// Son Hali:
{ 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 }