字符串排序 请问

字符串排序 请教!
unsigned   char   a[]={0x12,0x54,0x53,0x33}
void   func(unsigned   char   *a,unsigned   char   len)
{


}

从小到大排序。。多谢

------解决方案--------------------
#include <stdio.h>
#include <stdlib.h>

void func(unsigned char *a,unsigned char len)
{
int i, j;
unsigned char t;

for (i=0; i <len-1; i++)
{
for (j=0; j <len-1-i; j++)
if(a[j] > a[j+1])
{
t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}

for (i=0; i <len; i++)
printf( "0x%x ", a[i]);
}

int main()
{
unsigned char a[]={0x12,0x54,0x53,0x33};

func(a, sizeof(a)/sizeof(a[0]));

return 0;
}