单向链表:头插和尾插详解及C++实现
单向链表是一种数据结构,每个节点包含一个数据元素和一个指向下一个节点的指针。\n\n头插是指在链表的头部插入一个新的节点,即将新的节点作为链表的新的头节点。具体操作包括将新节点的指针指向原头节点,然后将链表的头指针指向新节点。\n\n尾插是指在链表的尾部插入一个新的节点,即将新的节点作为链表的新的尾节点。具体操作包括将原尾节点的指针指向新节点,然后将链表的尾指针指向新节点。\n\n在代码中,可以使用一个类来表示单向链表,其中每个节点包含一个数据成员和一个指向下一个节点的指针成员。示例代码如下:\n\nc++\nclass Node {\npublic:\n int data;\n Node* next;\n};\n\nclass LinkedList {\npublic:\n Node* head;\n Node* tail;\n\n LinkedList() {\n head = NULL;\n tail = NULL;\n }\n\n void insertAtHead(int value) {\n Node* newNode = new Node();\n newNode->data = value;\n newNode->next = head;\n head = newNode;\n if (tail == NULL) {\n tail = newNode;\n }\n }\n\n void insertAtTail(int value) {\n Node* newNode = new Node();\n newNode->data = value;\n newNode->next = NULL;\n if (tail != NULL) {\n tail->next = newNode;\n }\n tail = newNode;\n if (head == NULL) {\n head = newNode;\n }\n }\n};\n\n\n上述代码中,LinkedList类包含头指针head和尾指针tail,分别表示链表的头节点和尾节点。insertAtHead函数用于头插操作,insertAtTail函数用于尾插操作。在插入节点时,需要注意更新头指针和尾指针的位置。
原文地址: https://www.cveoy.top/t/topic/p7Qo 著作权归作者所有。请勿转载和采集!