zoukankan      html  css  js  c++  java
  • 单向链表的查询【openjudge】

    总时间限制: 
    2ms 
    内存限制: 
    1024kB
    描述

    创建一个链式存储的线性表,要求找出该链表中值为x的元素有多少个?

    输入
    输入若干整数,以0结束。
    再输入x的值
    输出
    x在链表中出现的次数
    样例输入
    3 2 3 3 5 8 5 3 0
    3
    样例输出
    4
    提示

    本题只有一组测试数据,不需要重复


    这答题咋一看挺水。但是对我而言还是发现了许多问题。在大牛的眼里一定是不屑一做的题目。但是我通过这道题目还是发现了自己数据结构的薄弱,链表的薄弱。是在惭愧的很啊。指针神马的还是有待研究。。。。

    还有就是我发现了编译环境VC的c标准与codeblocks的gcc标准的各自利弊。。

    话说VC的容错性还真是强啊。明明在结构体那里定义完之后,声明head指针的时候,写成了Lnode *head,(应该是 LNode *head)但是竟然编译通过还运行了。我去。。

    好吧废话不多说了。期待我的进步了。不要急于求成了,链表什么的还没搞懂,二叉树还是慢慢来吧。话说数据结构老师直接跳过串和广义表这两章了。。直接到树了。。还能更坑有木有。不过也好。快点学吧。是时候逼逼自己了。

    #include <stdio.h>
    #include <malloc.h>
    typedef struct Lnode{
    	int data;
    	struct Lnode *next;
    }LNode,*Linklist;
    LNode *head;
    void initlist(Linklist *L)
    {
    	*L=(LNode *)malloc(sizeof(LNode));
    	(*L)->next=NULL;
    }
    void Inselem(int x)
    {
    	LNode *s;
    	s=(LNode *)malloc(sizeof(LNode));
    	s->data=x;
    	s->next=head->next;
    	head->next=s;
    }
    void Locate(int x)
    {
    	int sum=0;
    	LNode *p;
    	p=head->next;
    	while(p!=NULL)
    	{
    		if(p->data==x)
    			sum++;
    		p=p->next;
    	}
    	printf("%d\n",sum);
    }
    int main()
    {
    	int m,n;
    	initlist(&head);
    	while(scanf("%d",&m)!=EOF)
    	{
    		if(!m){
    			scanf("%d",&n);
    			Locate(n);}
    		else{
    			Inselem(m);
    			}
    	}
    	return 0;
    }
    


  • 相关阅读:
    Core Api跨域问题解决
    文件夹浏览权限
    反射(C#基础回顾04)
    二维码扫码问题
    MVC接口跨域问题
    27.用户注册场景:数据验证(2):自定义验证tag、正则验证
    26.用户注册场景:数据验证(1):第三方验证库、自定义错误信息
    25.引入gorm,用户数据入库
    24.场景练习,基本接口(用户注册接口)
    22.使用Micro为我们的rpc服务创建http api网关
  • 原文地址:https://www.cnblogs.com/unclejelly/p/4082170.html
Copyright © 2011-2022 走看看