Tengo una lista de nombres y cada nombre tiene asignada una cantidad, mi pregunta es como puedo hacer un icono que al oprimirlo me ordene los nombres alfabéticamente y otro icono para ordenar las cantidades de mayor a menor o de menor a mayor?
La forma más fácil de ordenar nombres que tienen asignado un valor es usar ds_maps; conforme se van agregando los elementos al mapa se ordenan automáticamente por orden alfabético (o numérico en caso de que el nombre sea un número). El problema es que no se pueden ordenar por valor, y que los elementos no se pueden buscar por índice (tienes que usar las incomodas funciones "find_first", "find_next").
He estado pensando cómo ordenar pares usando ds_lists, pero no encuentro un método sencillo.
Para lograr lo que quieres vas a tener que estudiar los algoritmos clásicos de ordenamiento, e implementarlos usando arrays.