21xrx.com
2024-11-25 00:18:07 Monday
登录
文章检索 我的文章 写文章
C++编写学生链表
2023-07-02 11:27:20 深夜i     --     --
C++ 学生链表 编写

C++是一种十分强大且普遍使用的编程语言,它可以为我们提供各种各样的数据结构,例如学生链表,它可以帮助我们管理学生的信息并对其进行各种操作。下面,我们将介绍如何使用C++编写学生链表。

首先,我们需要定义一个学生类,它包括学生的姓名、年龄、性别等信息。我们可以使用以下代码来定义一个学生类:


class Student {

public:

  string name;

  int age;

  char gender;

  Student* next;

};

在这个类中,我们定义了学生的姓名、年龄、性别,以及一个next指针,用来指向下一个学生节点。

接下来,我们需要定义一个链表类,用于管理所有的学生信息。我们可以使用以下代码来定义一个链表类:


class StudentList {

public:

  Student* head;

  StudentList()

    head = new Student;

    head->next = NULL;

  

  void addStudent(Student* student)

    student->next = head->next;

    head->next = student;

  

  void deleteStudent(Student* student) {

    Student* p = head->next;

    Student* q = head;

    while (p) {

      if (p == student)

        q->next = p->next;

        delete p;

        break;

      

      q = p;

      p = p->next;

    }

  }

  void printList() {

    Student* p = head->next;

    while (p) Age: " << p->age << "

  }

};

在这个类中,我们定义了一个头指针head,表示链表的起始位置,并在构造函数中初始化它。addStudent()方法用来添加新的学生节点,deleteStudent()方法用来删除指定的学生节点,printList()方法用来打印出所有学生的信息。

最后,我们可以使用以下代码来测试我们的链表:


int main() {

  StudentList list;

  Student* s1 = new Student;

  s1->name = "John";

  s1->age = 20;

  s1->gender = 'M';

  list.addStudent(s1);

  Student* s2 = new Student;

  s2->name = "Alice";

  s2->age = 19;

  s2->gender = 'F';

  list.addStudent(s2);

  Student* s3 = new Student;

  s3->name = "Bob";

  s3->age = 21;

  s3->gender = 'M';

  list.addStudent(s3);

  list.printList();

  list.deleteStudent(s2);

  list.printList();

  return 0;

}

在这个测试代码中,我们创建了三个学生节点并向链表中添加它们。然后我们打印了所有学生的信息并删除了其中一个学生,最后再次打印出所有学生的信息。

通过以上的演示,我们可以看到,使用C++编写学生链表是十分简单的。我们只需要定义一个学生类和一个链表类,然后通过各种方法对学生节点进行添加、删除、查找等操作即可。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复