编写算法 统计出单链表HL中结点的值等于给定值X的结点数 int CountX(LNode*HL,ELemType)

作者&投稿:危任 (若有异议请与网页底部的电邮联系)
要想学好编程,是算法重要还是编程语言重要~

想写编程,想做程序员,算法这个还真不讲究,但是逻辑思维能力一定要强,为什么这么说,因为一个客户想要的,你首先得做出来,而且,客户想不到的,你也要想到,所以程序员的思维不同常人,比如我是客户,我让你做一个 登陆 模块,当然客户的想法就是,你把登陆模块做出来,我只要账号密码对了就能进,这就是他的,但你呢,不仅正确的账号密码能进,你还要思考到,错误的账号,正确的密码,正确的账号,错误的密码,空账号密码,等等一系列,这些和算法无关。 其实编程的话,建议你从C学起,C前期只是一个过渡,不很难,但也不简单,学这个不仅要耐心,而且还要敢兴趣,否则根本就不要去学编程了,枯燥无味。 一旦C语言上手了,那么你去学PHP. HTML. .NET这些,就方便许多了。JAVA这个根据个人所好吧 。 希望能帮到你, 不过请采纳,本人真心为你而答

假设LNode的定义为:
struct LNode{
ElementType data;
struct LNode *next;
};
这个问题直接遍历链表,判断相等就可以了。代码如下:(可能有错,烦请检查)
int CountX(LNode *HL, ElementType X){
if(HL == NULL)
return 0;
LNode *p;
p = HL->next; //假设头结点不含数据。如果头结点也含有数据,那就 p=HL;
int count = 0;
while(p != NULL){
if(p->data == X)
++count;
p = p->next;
}
return count;
}

你题目给的不清楚。结构体什么的都没给出
程序写起来有点麻烦 只能说说思路
设置个全局变量cnt int cnt=0;
定义一个 LNode* temp=(LNode*malloc(sizeof(LNode));
把temp 指向头 HL temp=HL;
遍历链表 while(temp) {if(temp->data==X) cnt++; temp=temp->right} 最后输出cnt 就可以了

int CountX(LNode *HL, ElementType X){
LNode *p;
int count = 0;
if(HL == NULL)

return 0;

p = HL->next; //同楼上,如果头结点含有数据,则 p=HL;
while(p != NULL){
if(p->data == X)
++count;
p = p->next;
}
return count;
}


高平市13397373304: 十二、编写统计出单链表HL中结点的值等于给定值X的结点数的算法. -
祖童止血: 先写一个单链表,给其中每个结点赋值,定义int count=0 然后从头遍历单链表与每个结点比较是否与X相同 相同就做自增

高平市13397373304: 统计出单链表HL中结点的值等于给定值X的结点数 -
祖童止血: int CountX(LNode *HL, ElementType X){ LNode *p; int count = 0; if(HL == NULL)return 0;p = HL->next; //同楼上,如果头结点含有数据,则 p=HL; while(p != NULL){ if(p->data == X) ++count; p = p->next; } return count; }

高平市13397373304: 数据结构:设计一个算法,统计带头结点的单链表中具有给定值x的结点个数. -
祖童止血: 假设LNode的定义为: struct LNode{ ElementType data; struct LNode *next; }; 这个问题直接遍历链表,判断相等就可以了.代码如下:(可能有错,烦请检查) int CountX(LNode *HL, ElementType X){ if(HL == NULL) return 0; LNode *p; p = HL->next; //假设头结点不含数据.如果头结点也含有数据,那就 p=HL; int count = 0; while(p != NULL){ if(p->data == X) ++count; p = p->next; } return count; }

高平市13397373304: 算法设计:输出单链表中所有结点的值 -
祖童止血: 这个算法难道还有什么窍门吗?我认为单链表应该就只有一种遍历方式吧.算法设计如下: 1. 建立节点类型的指针,并将指针指向链表头结点. 2. 打印该节点的数据域 3. 将指针指向该节点的下一个节点 4. 如果下个节点不为NULL,则循环进行第2和3步

高平市13397373304: 算法设计,输出带头结点的单链表中所有结点的值 -
祖童止血: typedef struct NODE {struct NODE *next;void *value; } Node; typedef struct LINK {struct NODE *head; } Link; void value_output(void *value) {...... } void link_output(Link *link) {Node *curr = link->head;while (curr != NULL) {value_output(curr->value);curr = curr->next;} }

高平市13397373304: 设计一个计算单链表(链表带头结点)中结点个数的算法,并依此输出链表中的元素的值 -
祖童止血: #include<stdio.h> #include<stdlib.h> 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 ...

高平市13397373304: 编写一个计算单链表中结点个数算法程序 -
祖童止血: 给你一个完整的代码,包括链表的创建,输出和求链表长度#include <stdio.h>#include <stdlib.h> typedef struct node { int data; struct node *next; }NODE,*List; void initList(List L) { L = NULL; } List createList() { List head, p, q; int flag; head = (List)...

高平市13397373304: 编写函数模块CountX统计出单链表L中结点的值等于给定值X的结点数. 单链表L中结点的数据类型定义: -
祖童止血: 你好,给您一点参考,

高平市13397373304: 数据结构算法求大神1 写一算法,统计出单链表L中结点的值等于给定值x的结点数.2 已知线性表中的元素(整数)以值递增有序排列,并以单链表作存储结... -
祖童止血:[答案] #include#include#include#include #define elem int#define M 10typedef struct node{ elem data; struct node *next;}no; //以下单链表均带头节点//1.int f1(no *L,elem x){ int i=0; L=L->next; while(L) { if(L...

高平市13397373304: 一道数据结构题目这是一个统计单链表中结点的值等于给定值x的结点数的算法,其中while循环有错,请重新编写出正确的while循环.int count ( ListNode * Ha,... -
祖童止血:[答案] int count ( ListNode * Ha,ElemType x ) { // Ha为不带头结点的单链表的头指针 int n = 0; ListNode *p; p=Ha; while ( p->link != NULL ) { if ( p->data == x ) n++; p = p->link; } return n; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网