C语言,计算链表中元素节点个个数

C语言,计算链表中元素节点个个数,第1张

楼主你好~

很简单哦

int

count

=

0;

while(p

!=

NULL)

{

p

=

p->next;

count++;

}

这个count就是最终的结点个数(包括头结点)~

请追问~

#include<stdioh>

#include<stdlibh>

typedef struct node

{

int data;

struct node next;

}node;

void count(node l)//计算节点个数,输出所有值

{

int n = 0;

node p = l->next;

while(p)

{

printf("%d ",p->data);

p = p->next;

n++;

}

printf("\n%d\n",n);

}

int main()

{

int e;

//头节点

node head,p,q;

head = (node)malloc(sizeof(node));

head->next = NULL;

p = head;

printf("输入元素,回车结束:");

do{

scanf("%d",&e);

q = (node)malloc(sizeof(node));

q->data = e;

q->next = NULL;

p->next = q;

p = q;

}while(getchar()!='\n');

count(head);

return 0;

}

它的算法思想应该是

1,以一指针指向该叶子结点并向上(父结点)找,把父节点入栈(方便输出路径)

2,把指针指向父节点,重复上面的过程,直到节点的父节点为空

3,依次出栈输出信息,路径就出来了

(注:此二叉树的节点应包括父指针,左右指针,数据域)

就这么多吧! 要学习程序,就得自己尝试写,写多了就会了

还有什么不懂的可以给我留言 !!

struct node n1,n2;//定义两个节点

n1next=&n2;//n1和n2连接起来

n2next=NULL;//n2的下个节点为空

struct node n3;//增加一个节点

n2next=&n3;//n2和n3连接起来

n3next=NULL;//n3的下个节点为空

这样你明白了吗

p->next其实就是(p)next

------------------------------------

用指针表达

struct node n1=( struct node )malloc(sizeof( struct node));//新增一个节点

struct node n2=( struct node )malloc(sizeof( struct node));//再新增一个节点

n1->next=n2;//连接两个节点

n2->next=NULL;//n2的下个节点为空

单链表的头插入:  L是头结点, p是插入结点,

假设: 链表结构为 L->A->B...

L->next=NULL;   // 这条语句有问题, 头结点插入是不需要这句的, 否则p->next=L->next就都等于null了;

p->next=L->next;   //p的下个结点指向头结点L的下个结点A, 即:p的下个结点指向原第2个结点A

L->next=p;  // 头结点L的下个结点指向p,  即将p插入到L的后面

// 最终结果为: L->P->A->B...

---------------------------------------

单链表的尾插入:L是尾结点,p是插入结点,r为标记末尾结点

假设: 链表结构为 ..A->B->L

L->next=NULL; //末尾结点没有下个结点, 即next指向null

r=L;           // r标记末尾结点

p->next=NULL;  // p待插入的末尾结点, 同样没有下个结点, next指向null

r->next=p;     // 将末尾结点r的下个结点指向p, 即:L下个结点指向p

r=p;           // 将r重新指向新的末尾结点p

//最终结果:A->B->L->P

以上就是关于C语言,计算链表中元素节点个个数全部的内容,包括:C语言,计算链表中元素节点个个数、如何用类c语言计算带头结点的单链表中的节点个数、C语言 求二叉树根节点到叶子节点的路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9559786.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存