【c++实现单链表创建,删除,遍历,插入,修改操作】亦余心之所善兮,虽九死其犹未悔。这篇文章主要讲述c++实现单链表创建,删除,遍历,插入,修改操作相关的知识,希望能为你提供帮助。
#include< iostream>
#include< string>
#include< malloc.h>
using namespace std;
struct Node
int data;
struct Node* next;
;
struct Node* build_list(int n)
Node *head =(struct Node*)malloc(sizeof(Node));
if (head == NULL)
cout< < "malloc failed!"< < endl;
return head;
head-> data = https://www.songbingjia.com/android/1;
head-> next = NULL;
Node *curNode = head;
for (int i=1; i< n; i++)
Node *newNode = (struct Node*)malloc(sizeof(Node));
if (newNode == NULL)
cout< < "malloc failed!"< < endl;
return head;
newNode-> data = https://www.songbingjia.com/android/i+1;
newNode-> next = NULL;
curNode-> next = newNode;
curNode = newNode;
return head;
struct Node* addtail_node_list(struct Node* head, struct Node* newNode)
if (head == NULL || newNode == NULL)
return head;
struct Node* pcurrNode=head;
while(pcurrNode-> next != NULL)
pcurrNode = pcurrNode-> next;
if (pcurrNode != NULL)
pcurrNode-> next = newNode;
newNode-> next = NULL;
return head;
struct Node* addprev_node_list(struct Node* head, struct Node* newNode,int key)
if (head == NULL || newNode == NULL)
return head;
struct Node* pcurrNode = head;
struct Node* pprevNode = NULL;
while(pcurrNode != NULL)
if (pcurrNode-> data =https://www.songbingjia.com/android/= key)
if (pcurrNode == head)
newNode-> next = head;
head = newNode;
else
pprevNode-> next = newNode;
newNode-> next = pcurrNode;
break;
pprevNode = pcurrNode;
pcurrNode = pcurrNode-> next;
return head;
struct Node* modkey_node_list(struct Node* head, int key, int modval)
if(head==NULL)
return head;
struct Node* pCurrNode=head;
while(pCurrNode!=NULL)
if (pCurrNode-> data =https://www.songbingjia.com/android/= key)
pCurrNode-> data = https://www.songbingjia.com/android/modval;
break;
pCurrNode=pCurrNode-> next;
return head;
struct Node* query_node_list(struct Node* head, int key)
if(head==NULL)
return head;
struct Node* pCurrNode=head;
while(pCurrNode!=NULL)
if (pCurrNode-> data =https://www.songbingjia.com/android/= key)
return pCurrNode;
pCurrNode=pCurrNode-> next;
return NULL;
struct Node* delete_node_list(struct Node* head, int key)
if(head==NULL)
cout< < "list is null"< < endl;
return head;
推荐阅读
- 简单网络管理协议(SNMP)实现linux系统信息网络监控
- nodejs 环境搭建,全局安装 babel 库「Windows」
- Windows Server2012R2 安装MongoDB
- Windows使用ROS机器人操作系统全面资料汇总
- Bash特性
- Oracle Windows 环境下安装 + PL/SQL
- Windows使用ROS机器人操作系统教程说明
- Bash的特性
- Bash初识2