21xrx.com
2024-11-22 07:14:14 Friday
登录
文章检索 我的文章 写文章
C++ 数据结构示例代码
2023-06-23 17:24:57 深夜i     --     --
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++中三种基本的数据结构示例代码,掌握它们可以为我们以后的编程工作提供很大的便利。但需要注意的是,每一种数据结构都有其特点和适用场景,我们需要根据实际情况进行选择使用。除此之外,还应该多多学习和练习算法,以提升自己的程序设计水平。

  
  

评论区

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