21xrx.com
2025-06-28 23:07:00 Saturday
文章检索 我的文章 写文章
C++ 数据结构示例代码
2023-06-23 17:24:57 深夜i     23     0
C++ 数据结构 示例代码 程序设计 编程技巧

C++是一种高效、灵活、强大的编程语言,广泛应用于计算机科学和软件工程领域。作为一名程序员,掌握数据结构和算法是非常重要的,这不仅可以让我们写出高效、稳定的代码,也有助于解决复杂的问题。

下面是一些C++数据结构的示例代码:

1. 链表

链表是一种常用的数据结构,可以用来实现基于节点的数据存储和访问。以下是C++中链表的实现代码:

struct Node {
  int data;
  Node* next;
  Node(int val) : data(val), next(nullptr) {}
};
class LinkedList {
private:
  Node* head;
public:
  LinkedList() : head(nullptr) {}
  void add(int val) {
    Node* node = new Node(val);
    if (head == nullptr)
      head = node;
     else {
      Node* current = head;
      while (current->next != nullptr)
        current = current->next;
      
      current->next = node;
    }
  }
  //...其他方法,如get, remove等...
};

2. 栈

栈是一种先进后出的数据结构,比如我们使用浏览器时,可以使用浏览器的后退键,取出最近访问的网页,就是利用了栈的特点。以下是C++中栈的实现代码:

class Stack {
private:
  vector<int> data;
public:
  bool isEmpty() {
    return data.empty();
  }
  void push(int val) {
    data.push_back(val);
  }
  int pop() {
    int val = data.back();
    data.pop_back();
    return val;
  }
  int peek() {
    return data.back();
  }
};

3. 队列

队列是一种先进先出的数据结构,比如我们使用电影院时,先到的观众先看电影,就是利用了队列的特点。以下是C++中队列的实现代码:

class Queue {
private:
  vector<int> data;
public:
  bool isEmpty() {
    return data.empty();
  }
  void enqueue(int val) {
    data.push_back(val);
  }
  int dequeue() {
    int val = data.front();
    data.erase(data.begin()); //注意,vector的erase方法需要传入迭代器
    return val;
  }
  int peek() {
    return data.front();
  }
};

以上是C++中三种基本的数据结构示例代码,掌握它们可以为我们以后的编程工作提供很大的便利。但需要注意的是,每一种数据结构都有其特点和适用场景,我们需要根据实际情况进行选择使用。除此之外,还应该多多学习和练习算法,以提升自己的程序设计水平。

  
  

评论区