// DataStructure.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
typedef struct Student
{
int data;
Student * next;
}Node;
Node * create(int* data,int length){
if (data==NULL||length<=0)
{
return NULL;
}
Node *head=NULL;
Node *pre=NULL;
for (int i = 0; i < length; i++)
{
Node *node=new Node();
node->data=data[i];
node->next=NULL;
if (head==NULL)
{
head=node;
}
else
{
pre->next=node;
}
pre=node;
}
return head;
}
int length(Node *head){
Node *p=head;
int n=0;
while (p!=NULL)
{
++n;
p=p->next;
}
return n;
}
void print(Node *head){
Node *p=head;
while (p!=NULL)
{
printf("%d\t",p->data);
p=p->next;
}
printf("\n");
}
Node * deleteNode(Node **head,int value){
Node *p=*head;
Node *pre=p;
while (p!=NULL)
{
if (p->data==value)
编程实现单链表的删除节点
最新推荐文章于 2023-04-12 20:57:28 发布
这篇博客通过C++代码展示了如何创建和操作单链表,包括创建链表、打印链表、删除指定节点以及计算链表长度等功能。示例代码中定义了`Node`结构体,并提供了相应的辅助函数,如`create`用于生成链表,`deleteNode`用于删除具有特定值的节点,以及`length`和`print`用于获取链表长度和打印链表内容。通过一系列`deleteNode`调用,演示了删除不同位置节点的效果。
摘要由CSDN通过智能技术生成