21xrx.com
2024-12-22 22:05:31 Sunday
登录
文章检索 我的文章 写文章
C++实现头插法建立单链表:完整代码
2023-07-13 17:21:03 深夜i     --     --
C++ 头插法 单链表 建立 完整代码

C++是一种以对象为中心的编程语言,具有高效性、可移植性、可读性等特点,广泛应用于系统软件、网络通信、GUI界面、游戏开发等诸多领域。在C++中,链表是一种重要的数据结构,可以用于快速插入、删除和查找数据。头插法建立单链表就是链表中的一种常见方法。

下面是C++实现头插法建立单链表的完整代码:


#include <iostream>

using namespace std;

// 定义链表结构体

struct ListNode {

  int val;

  ListNode* next;

  ListNode(int x) : val(x), next(NULL) {}

};

// 头插法建立单链表

ListNode* createList() {

  ListNode* head = new ListNode(-1); // 哑结点,方便操作

  int x;

  while (cin >> x) {

    ListNode* node = new ListNode(x); // 新建结点

    node->next = head->next; // 插入到链表头部

    head->next = node;

  }

  return head->next; // 返回链表头指针

}

// 遍历输出链表

void printList(ListNode* head) {

  while (head != NULL)

    cout << head->val << " ";

    head = head->next;

  

  cout << endl;

}

int main() {

  ListNode* head = createList(); // 建立单链表

  printList(head); // 遍历输出结果

  return 0;

}

上述代码中,我们定义了一个链表结构体`ListNode`,其中`val`表示结点的值,`next`表示指向下一结点的指针。在`createList()`函数中,我们使用循环输入,不断新建结点,并将其插入到链表头部,以此来建立单链表。在插入时,我们使用`node->next = head->next`将新结点指向原链表头结点的下一结点,再使用`head->next = node`将链表头指向新结点,从而完成了插入操作。

最后,在`printList()`函数中,我们将链表从头至尾遍历一遍,输出结点的值,以此来验证我们是否成功建立了单链表。

总之,C++实现头插法建立单链表是链表数据结构中的一项基本操作,掌握此方法有助于扩展我们在链表上的操作。希望上述代码对您有所帮助!

  
  

评论区

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