21xrx.com
2024-12-27 14:06:46 Friday
登录
文章检索 我的文章 写文章
C++创建单链表的代码
2023-06-23 08:00:18 深夜i     --     --
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()`函数输出链表元素值。这里仅为示例代码,实际上很多情况下不需要输出链表内容。

  
  

评论区

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