21xrx.com
2025-03-27 23:20:21 Thursday
文章检索 我的文章 写文章
C++链表输入输出:从控制台读入并输出链表数据
2023-07-06 11:51:37 深夜i     35     0
C++ 链表 输入 输出 控制台

C++中,链表是一种常见的数据结构,它与数组相比有着更加灵活的特点。链表可以动态的分配内存空间,并且可以随时插入或删除节点。在实际应用中,链表的使用范围非常广泛,例如:文件系统中的目录结构,CAD软件中的图形对象等。

在C++中,可以通过类的方式来实现链表的数据结构。链表类通常包含两个数据成员:指向链表头节点的指针和链表长度。链表类还可以提供一些函数成员用于对链表进行各种操作,如插入节点、删除节点、查找节点等。

下面以从控制台读入并输出链表数据为例,来演示如何使用C++链表。

首先,我们需要定义链表类,这里命名为NodeList。链表节点的定义如下:

class Node
{
public:
  int data;
  Node* next;
  Node(int d) : data(d), next(nullptr) {}
};
class NodeList
{
public:
  NodeList();
  void insertNode(int data);
  void printList();
private:
  Node* head; // 链表头节点
  int length; // 链表长度
};

其中,Node类代表链表的一个节点,其中data代表节点数据,next指向下一个节点。NodeList类代表整个链表,包含了链表头指针head和链表长度length。insertNode函数用于向链表中插入节点,printList函数用于输出整个链表的节点数据。

接下来,我们可以通过以下代码来从控制台读取数据并插入到链表中:

NodeList list;
int data;
cout << "请输入链表中的数据(输入-1结束):" << endl;
while (1)
{
  cin >> data;
  if (data == -1)
    break;
  list.insertNode(data);
}

读入数据的过程即为一个while循环,每次读入一个数据,如果读入的数据为-1,则跳出循环。

最后,我们可以通过以下代码来输出整个链表的节点数据:

cout << "链表中的数据为:" << endl;
list.printList();

其中printList函数遍历整个链表,并逐个输出节点数据。

综上所述,通过上述代码实现了从控制台读取并输出链表数据。当然,链表的应用远远不止于此,只要我们熟练掌握链表的操作方法,就能灵活应用链表来解决实际问题。

  
  

评论区