DS20-练习3-函数题-求单链表元素序号

6-1 (10 分)
本题要求实现一个函数,求带头结点的单链表中元素序号。

函数接口定义:
int Locate ( LinkList L, ElemType e);
L是带头结点的单链表的头指针,e是要查找的元素值。如果e在单链表中存在,函数Locate返回其序号(序号从1开始);否则,返回0。

裁判测试程序样例:

#include <stdio.h>
#include <stdlib.h>

typedef int ElemType;
typedef struct LNode
{
    ElemType data;
    struct LNode *next;
}LNode,*LinkList;

LinkList Create();/* 细节在此不表 */

int Locate ( LinkList L, ElemType e);

int main()
{
    ElemType e;
    LinkList L = Create();
    scanf("%d",&e);
    printf("%d\n", Locate(L,e));
    return 0;
}

/* 你的代码将被嵌在这里 */

输入样例:
2 1 4 5 3 -1
5
输出样例:
4

int Locate ( LinkList L, ElemType e)
{
	int count=1;//无情计数器,从1开始。下面的第一个if判断若第一次就判得p指e,那就直接输出地址为1(首元结点嘛,题目也说了序号从1开始的)
	LNode *p;//弄一个指针p
	p=L->next;
	while(p!=NULL)//只要p不是NULL,就一直循环下去。p是NULL,跳出循环
	{
		if(p->data==e)//当p所指为e时,即可输出地址
			return count;
		p=p->next;//否则,继续p=p->next
		count++;//计数器再加
	}
	if(p==NULL)
	return 0;
}

————————————————分割线—————————————————————
はいはい下面是我的废话!

这个。。。如果想要在DEV里测试一下这儿的代码行不行的通。。其实是不行的。。。人原来的代码就省略了好多东西,肯定是运行不了的。

做一道题开十几个网页搜参考答案来参考。。。俺真的不太行。。。今天拖鞋刚跟我说:“其实你想一下,学计算机的人是按照规定去做就行了,还是需要有自己创造性的思想解读理解?”我说:“肯定要有创造思维,但我没有基础,都不知道怎么创造。”很无力的回答呜呜呜(虽然我是在一边假哭一遍不好好打基础。。。该死!)让大一下学期充实起来吧!不要再在小组里拖别人后腿了!

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值