Your problem can be broken down into two parts:
- a sorting algorithm that takes a
value
from a given element - a method to choose which
value
to extract, given a feature name
So something like (python-like pseudocode):
data = new MyDataStructure()
#Insert some values into it..
#...
def extract_feature(myObject, feature_name):
return myObject.getFeature(feature_name)
print sorted(data, (key=lambda x: extract_feature(x))