Vinculado listas son útiles para las listas dinámicas de los objetos que va a cambiar con frecuencia. Una lista enlazada puede realizar lista de inserciones y deleciones en la constante de tiempo , mientras que las matrices dinámicas realizan estas tareas en tiempo lineal . Este beneficio para la inserción y eliminación tiene un precio de tener un tiempo de acceso más lento, ya que la lista debe ser recorrido cada vez que se desea un índice diferente . Esta falta de acceso aleatorio significa que usted no puede utilizar un algoritmo de clasificación estándar como " qsort ", que es una implementación del algoritmo de ordenación rápida que se encuentra en la biblioteca de C + + estándar. Afortunadamente , los diseñadores de std :: lista, siempre y herramientas de clasificación específicas que están bien documentados y fácil de usar . Instrucciones
1
Incluir encabezado de la lista de la biblioteca estándar en el archivo de código. Esto puede incluir ya si se ha definido el objeto de lista en el código fuente .
# Include
2 Modificar la ejecución de la estructura se le ordenando a sobrecargar el operador "<" . Este operador se utiliza std :: lista al ordenar la lista. Asegúrese de seleccionar el campo de datos apropiada para clasificar , de lo contrario los resultados de la clasificación puede no ser el esperado.
//Esto es un ejemplo de estructura . Modificar la estructura existente de utilizar el operador <
struct MyStruct
{
int m_dataToSortOn ;
bool operator < (const MyStruct y dcha.)
{
regreso this.m_dataToSortOn < rhs.m_dataToSortOn ;
}
} ;
3
Llame al método "sort " en su lista de objetos. Esto ordenará la lista de objetos en función de la salida del operador "<"
//Ordenar la lista de de datos