c/c++第十五篇

学习了解了枚举,然后又了解了链表,发现日常中经常使用链表。
1.枚举:枚举是一种用户自定义的数据类型,它允许将一组具有相同性质的常量值列举出来,以增强代码的可读性和可维护性。
例:
enum EnumName {
    Value1,
    Value2,
    //...
    ValueN
};
可以使用枚举类型来定义变量,这些变量只能取枚举中定义的值
2.链表:链表是一种常见的数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。链表可以动态地分配内存,方便地进行插入和删除操作。
链表的类型:
单链表:每个节点只有一个指向下一个节点的指针,是最基本的链表结构。
双链表:每个节点有两个指针,一个指向前一个节点,一个指向后一个节点,使得链表的遍历和操作更加灵活。
循环链表:最后一个节点的指针指向链表的头节点,形成一个环形结构,适用于一些特定的应用场景。
基本操作:
创建链表:首先需要定义链表节点的结构体,然后通过动态分配内存来创建节点,并将它们连接起来形成链表。
struct ListNode {
    int data;
    ListNode* next;
};
ListNode* createList() {
    ListNode* head = NULL;
    ListNode* tail = NULL;
    int value;
    std::cout << "Enter values for the list (enter -1 to end): ";
std::cin >> value;
    while (value!= -1) {
        ListNode* newNode = new ListNode;
newNode->data = value;
newNode->next = NULL;
        if (head == NULL) {
            head = newNode;
            tail = newNode;
        } else {
tail->next = newNode;
            tail = newNode;
        }
std::cin >> value;
    }
    return head;
}
全部评论

相关推荐

面向对象编程(OOP)初体验。了解到&nbsp;OOP&nbsp;是将现实世界中的事物抽象为对象,对象包含属性和方法,这种编程范式与以往的过程式编程有很大不同。以汽车为例,定义一个汽车类,包含颜色、速度等属性,以及启动、刹车等方法。通过类的实例化创建对象,仿佛赋予了汽车生命。学习封装时,用&nbsp;private&nbsp;关键字隐藏类的内部数据,通过&nbsp;public&nbsp;方法作为对外接口,既能保护数据安全,又能方便与外界交互。主要特点封装性:将数据和操作数据的方法封装在一个类中,隐藏了对象的内部实现细节,只对外提供公共的接口。这使得代码的安全性和可维护性更高,例如在&nbsp;C++&nbsp;中,通过类的访问修饰符&nbsp;public、private&nbsp;和&nbsp;protected&nbsp;来控制成员的访问权限。继承性:允许创建新的类从现有的类中继承属性和方法,新类称为子类或派生类,现有类称为父类或基类。子类可以继承父类的公有和保护成员,并可以添加自己的新成员或重写父类的方法,实现代码的复用和扩展,如在&nbsp;Java&nbsp;中,使用&nbsp;extends&nbsp;关键字实现继承。多态性:指同一个操作作用于不同的对象,可以有不同的解释和实现方式。多态性分为编译时多态和运行时多态,编译时多态通过函数重载实现,运行时多态通过虚函数和动态绑定实现,它使得程序更加灵活和可扩展。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务