本文最后更新于2009天前,其中的信息可能已经有所发展或是发生改变。
本题要求实现一个函数,统计带头结点的单链表中某个元素出现的次数。
函数接口定义:
int GetCount ( LinkList L,ElemType e );
L是带头结点的单链表的头指针,e是要统计次数的元素值。如果e在单链表中存在,函数GetCount返回其出现的次数;否则,返回0。
裁判测试程序样例:
#include <stdio.h> #include <stdlib.h> typedef int ElemType; typedef struct LNode { ElemType data; struct LNode *next; }LNode,*LinkList; LinkList Create();/* 细节在此不表 */ int GetCount ( LinkList L, ElemType e); int main() { ElemType e; LinkList L = Create(); scanf("%d",&e); printf("%d\n", GetCount(L,e)); return 0; } LinkList Create() { LinkList L,r,p; ElemType e; L = (LinkList)malloc(sizeof(LNode)); L->next = NULL; r = L; scanf("%d",&e); while(e!=-1) { p = (LinkList)malloc(sizeof(LNode)); p->data = e; p->next = r->next; r->next = p; r = p; scanf("%d",&e); } return L; } /* 你的代码将被嵌在这里 */
输入样例1:
2 2 4 2 3 -1 2
输出样例1:
3
int GetCount ( LinkList L,ElemType e ) { int count = 0; while(L) { if(L->data == e) { count++; } L= L->next; } return count; }
点击数:798