21xrx.com
2024-11-05 19:05:15 Tuesday
登录
文章检索 我的文章 写文章
C++代码:头插法
2023-07-11 15:44:19 深夜i     --     --
C++ 代码 头插法

C++语言是一种面向对象的编程语言,在程序员的开发中常常用到各种数据结构和算法。其中,头插法是一种简单有效的链表插入方法,可以在链表头部快速插入新的节点。

头插法的实现和其他链表插入方法不同,它是将新节点插入到链表的头部,而不是尾部或中间。这种方法的优点是插入速度非常快,因为不需要遍历整个链表。另外,头插法也使得链表的操作更加简单和高效。

下面是头插法的示例代码:


#include <iostream>

using namespace std;

struct ListNode {

  int val;

  ListNode *next;

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

};

ListNode* insert(ListNode* head, int val) {

  ListNode* new_node = new ListNode(val);

  new_node->next = head;

  return new_node;

}

int main() {

  ListNode* head = NULL;

  head = insert(head, 1);

  head = insert(head, 2);

  head = insert(head, 3);

  ListNode* ptr = head;

  while (ptr != NULL)

    cout << ptr->val << " ";

    ptr = ptr->next;

  

  cout << endl;

  return 0;

}

在这个例子中,我们定义了一个链表节点结构体ListNode,其中包含一个数值val和一个指向下一个节点的指针next。链表的头部指针head开始为NULL,表示链表为空。我们通过insert函数不断调用头插法,在头部插入三个元素1、2、3,具体实现就是通过new操作符动态分配一个新节点,并将其指向head节点,最后让head指针指向新节点。

最后,我们通过遍历整个链表,将所有节点的值依次输出。这个例子展示了头插法的简单易用和高效性能。可以看到,头插法在插入节点时不需要遍历整个链表,操作简单快捷。如果需要频繁插入节点,头插法是一个很好的选择。

  
  

评论区

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