# Sortiranje
#
# sorted(kolekcija [, poredi [, kljuc [, obrni]]]) - vraca sortiranu kolekciju
#
# kolekcija - kolekcija koju zelimo da sortiramo
# poredi - funkcija poredjenja, podrazumevana funkcija koja se koristi za poredjenje je cmp koja radi za podatke brojevnog tipa i niske 
# kljuc - funkcija koja vraca kljuc po kome se poredi
# obrni - True/False (opadajuce/rastuce)
#


import json
import math

tacke = [{"teme":"A" , "koordinate": [0.0, 1.1]}, {"teme":"B" , "koordinate": [1.0, 2.0]}, {"teme":"C" , "koordinate": [-1.0, 5.0]}]

def poredi(x,y):
    if (x[0]*x[0] + x[1]*x[1]) > (y[0]*y[0] + y[1]*y[1]):
        return 1
    else:
        return -1

def kljuc(x):
    return x["koordinate"]

sortirane_tacke = sorted(tacke, poredi, kljuc, True)

print "\n-----Sortiranje objekata-----\n"
print json.dumps(sortirane_tacke)
