社区
C语言
帖子详情
链表末尾增加一个节点的操作。
SadPerson
2003-07-24 04:14:15
写一个函数,完成在链表末尾增加一个节点的操作。
函数原型为:
Node * AddNode(Node *head,int newDate);
其中,链表节点的定义如下:
struct Node{
int data;
Node * next;
}
...全文
601
10
打赏
收藏
链表末尾增加一个节点的操作。
写一个函数,完成在链表末尾增加一个节点的操作。 函数原型为: Node * AddNode(Node *head,int newDate); 其中,链表节点的定义如下: struct Node{ int data; Node * next; }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zoezinsser
2003-07-25
打赏
举报
回复
停了!
不要这样,一片天空,弄脏了!
jackywangsen
2003-07-25
打赏
举报
回复
刚贴的有点问题,改正如下:
Node * AddNode(Node *head,int newDate){
Node *p=(Node *)malloc(sizeof(Node));
Node *s=head;
while(s->next){//应该是对指针域进行判断,前面的搞错了,改正
s=s->next;
}
p->data=newDate;
p->next=NULL;
s->next=p;
return p;
}
jackywangsen
2003-07-25
打赏
举报
回复
#include "stdio.h"
typedef struct Node{
int data;
struct Node * next;
}Node;
Node * AddNode(Node *head,int newDate){
Node *p=(Node *)malloc(sizeof(Node));
Node *s=head;
while(s){
s=s->next;
}
p->data=newDate;
p->next=NULL;
s->next=p;
return p;
}
main(){
getch();
}
bigtea
2003-07-24
打赏
举报
回复
假设楼主的原链表为无头结点的单链表,则
Node * AddNode(Node *head,int newDate)
{
struct Node * p, * q;
p=head;
while(p->next!=NULL) p=p->next;
if (q=(Node * )malloc(sizeof(Node)) exit (0);
p->next=q;
q->data=newDate;
q->next=NULL;
return head;
}
youngmean
2003-07-24
打赏
举报
回复
先进先出的队列式链表:
{
struct Node* p,* tail;
p=head;
if(!p)
printf("error");
else
{
while(p->next)
p=p->next;
tail=p;//tail记录最后一个结点
p=(struct Node*) malloc(sizeof(struct Node));
p->next=tail->next;
tail->next=p;
}
}
shailiavia
2003-07-24
打赏
举报
回复
Node * AddNode(Node *head,int newDate);//head为头指针
{ Node *p=NULL,*q=NULL; //p用于找到链表最后一个节点,q用于生成新节点
p=head;
while(p->next) p=p->next; //p的后继不空,顺着链表往后走
q=Node* (malloc(sizeof(Node));
q->next=NULL;
q->data=newData;
p->next=q;
}
//head所指链表即为所需链表
loneststar
2003-07-24
打赏
举报
回复
哎,错了。订正如下
Node * AddNode(Node *head,int newDate)
{
Node *p=head;
if(head) {
while (p->next) p=p->next;
p->next=new Node;
p=p->next;
p->next=NULL;
p->data=newData;
};
else {
head = new Node;
head->next=NULL;
head->data=newData;
p = head;
};
return p;
}
loneststar
2003-07-24
打赏
举报
回复
完整一点的 :)
Node * AddNode(Node *head,int newDate)
{
Node *p=head;
if(head) {
while (p->next) p=p->next;
p->next=new Node;
p=p->next;
p->next=NULL;
p->data=newData;
};
else {
head = new Node;
head->next=NULL;
head->data=newData;
p = head->next;
};
return p;
}
ckp
2003-07-24
打赏
举报
回复
楼上的实现函数可能有错,现改正如下:
实现函数
{
Node *p=head;
if(head) {
while (p->next) p=p->next;
p->next=new Node;
p=p->next;
p->next=NULL;
p->data=newData;
};
else {
head = new Node;
head->next=NULL;
head->data=newData;
};
}
listart
2003-07-24
打赏
举报
回复
实现函数
{
Node *p=head;
while (p) p=p->next;
p->next=new Node;
p=p->next;
p->next=NULL;
p->data=newData;
}
基于C语言实现单
链表
的插入和删除(源码)
实现了在
链表
末尾
插入新
节点
的函数 insertAtEnd,首先分配新
节点
的内存空间,然后遍历
链表
找到
末尾
节点
并插入新
节点
。 实现了删除指定值的
节点
的函数 deleteNode,首先处理
链表
为空和头
节点
的情况,然后遍历
链表
找到...
链表
是一种常用的数据结构,使用C语言实现
链表
然后,createNode函数用于创建
一个
新的
节点
,appendNode函数用于在
链表
的
末尾
添加
一个
新的
节点
,printList函数用于打印整个
链表
。最后,在main函数中,我们创建了
一个
空的
链表
,并添加了三个
节点
,然后打印出整个...
算法入门教程——
链表
循序渐进的讲解
链表
的相关知识。其中通过丰富的例题讲解,加深同学们对
链表
的遍历、
节点
的插入与删除的知识的理解。
用C语言创建
一个
单
链表
的方法
// 指针域,指向下
一个
节点
} Node; 定义
链表
的插入函数,用于在
链表
末尾
插入
节点
: void insert(Node** head, int data) { Node* newNode = (Node*)malloc(sizeof(Node)); // 创建新
节点
newNode->data = data;...
C语言实现
链表
数据结构(源码+例子)
然后提供了一系列函数来
操作
链表
,包括创建新
节点
、在
链表
末尾
插入
节点
、打印
链表
内容。在main函数中,演示了如何使用这些函数来创建
链表
、插入
节点
并打印
链表
内容。最后,释放了
链表
节点
的内存,以避免内存泄漏。
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章