El sistema realiza la operación de la lista vinculada a través de la plantilla de diseño.Las funciones incluyen consultar información del estudiante, agregar y eliminar información del estudiante, y ordenar y enviar estudiantes de acuerdo con el número y grado del estudiante. Al comienzo del programa, la información del alumno se lee del archivo y se almacena en la lista vinculada. Después de eso, se realizan varias operaciones en la lista vinculada. Cuando se sale del programa, los datos de la lista vinculada se pueden guardar automáticamente en el archivo.
Todo el sistema incluye cuatro partes:
1. Clase de nodo
2. Lista vinculada
3. estudiantes
Función 4.main
La función principal incluye principalmente 3 partes:
1. Archivo de lectura y escritura
2. Operaciones en listas enlazadas
3. Selección de funciones
Primero mira la clase de nodo:
template<class T>
class StuNode
{
public:
StuNode();//初始化
StuNode<T> *pre;//前一结点
StuNode<T> *next;//后一结点
T data;//数据
};
Lista vinculada
template<class T>
class StuList
{
private:
StuNode<T> *head;//链表的头结点
StuNode<T> *tail;//链表的尾结点
int length;//链表的长度
public:
StuList();//默认构造函数
StuList(StuList &list1);//拷贝构造函数
~StuList();//析构函数
int size();//返回长度
void add(T e);//添加结点
StuNode<T> *get_head();
StuNode<T> *get_tail();
void show();//按序输出
void remove(T index);//移除
void find(T index);//查找
};
Los atributos del alumno se pueden definir en la clase del alumno. Además, algunos operadores deben sobrecargarse. Puede consultar
Implementación de funciones miembro de CString (sobrecarga de símbolos, memoria dinámica)
El archivo de lectura y escritura en la función principal puede hacer referencia a
C ++ STL y resumen de operación de procesamiento de archivos
Las funciones que operan en la lista vinculada son
save_file(list);//保存
add_info(list);//添加
search_info(list);//查询
delete_info(list);//删除
stu_num_out(list);//学号排序
score_out(list);//分数排序
La selección de operaciones funcionales puede usar esta estructura:
while(1)
{
cin>>choice;
switch(choice)
{
case : break;
case : break;
case : break;
}
}
Creo que hay tres puntos más importantes.
1. El contenido de una clase específica no puede aparecer en la clase de plantilla, la plantilla es la plantilla
2. Al operar en listas vinculadas, debe prestar atención para distinguir entre operaciones en datos reales u operaciones en copias de datos, de lo contrario g
3. Tenga en cuenta que la clase de nombre y otra información se pueden repetir, pero el número de estudiante debe ser único