0
OK, taking in to consideration that memory footprint is a concern, then there is some scope for improvement. First, lets get through some of the basics....
Firstly, your code has a bug, It fails to sort data with duplicates:
'w','a','t','e','r','c','a','t','-','-','b','a','l','l','-','f','i','v...