21xrx.com
2025-03-22 08:24:47 Saturday
文章检索 我的文章 写文章
C++创建单链表的代码
2023-06-23 08:00:18 深夜i     18     0
C++ 创建 单链表 代码

单链表是一种常见的数据结构,可以用于存储和操作一系列数据。C++语言提供了方便的指针操作和内存管理功能,使得创建单链表变得相对简单。下面是一段示例代码,演示如何使用C++来创建单链表:

#include <iostream>
using namespace std;
// 定义链表节点结构体
struct ListNode {
  int val;
  ListNode *next;
};
// 创建单链表,返回头结点指针
ListNode* createList(int arr[], int n) {
  if (n == 0) return NULL; // 空链表
  ListNode *head = new ListNode{arr[0], NULL}; // 创建头结点
  ListNode *tail = head; // 尾节点指针
  for (int i = 1; i < n; i++) {
    ListNode *node = new ListNode{arr[i], NULL}; // 创建新节点
    tail->next = node; // 尾节点指向新节点
    tail = node; // 尾节点指针更新为新节点
  }
  return head;
}
// 输出链表元素值
void printList(ListNode *head) {
  while (head != NULL)
    cout << head->val << " ";
    head = head->next; // 指向下一个结点
  
  cout << endl;
}
int main() {
  int arr[] = 5;
  int n = sizeof(arr) / sizeof(arr[0]);
  ListNode *head = createList(arr, n);
  printList(head);
  return 0;
}

以上代码中,创建单链表的过程通过一个`createList()`函数实现。该函数接受一个整型数组和数组长度作为参数,返回头结点指针。函数内部依次创建每个节点,并将它们连接成一个链表。除了头结点,每个节点都由前一个节点的`next`指针指向。

实现输出功能的`printList()`函数,接受头结点指针作为参数,顺序遍历链表中的每个节点,并输出节点的`val`属性值,直到遇到最后一个节点(`next`指向`NULL`)。

在`main()`函数中,定义了一个整型数组,以及计算数组长度,并将它们传递给`createList()`函数创建单链表。然后,调用`printList()`函数输出链表元素值。这里仅为示例代码,实际上很多情况下不需要输出链表内容。

  
  

评论区