function pb = serad(pb,jm_pol)
%serad - razeni pole bunek obsahujiciho stejne stejne struktury podle
%hodnoty jedne polozky
%pb2 = serad(pb,jm_pol)
%pb...pole bunek obsahujici tytez struktury(=stejne polozky u vsech)
%jm_pol...nazev polozky, dle ktere chceme pole bunek seradit
%pb2...serazene pole bunek

flag=1;
k=length(pb);    %kolik polozek je treba zpracovat

while(flag)     %dokud je co prohazovat
    flag=0;
    for i=1:k-1
        a=getfield(pb{i},jm_pol);   %prvni hodnota
        b=getfield(pb{i+1},jm_pol); %druha hodnota
        if porovnej(a,b)>0
            disp([a '-' b ' prohazuji'])
            pom = pb{i+1};
            pb{i+1}=pb{i};
            pb{i}=pom;  %vetsi prvek se posunul smerem na konec
            flag=1;
        end
    end
    k=k-1;
end
    
    
    
    %-------------------------------------------------------------------------------
    function o=porovnej(s1,s2)
    %radi podle ASCII poradi!
    d1=length(s1);
    d2=length(s2);
    o=0;    %predpokladam, ze se shoduji
    
    for i=1:min([d1,d2])    %do delky kratsiho z nich
            if s1(i)~=s2(i)
                o=s1(i)-s2(i);  %rozdil znaku polde ASCII hodnoty
                return
            end
    end
    o=d1-d2;