由于这个很简单,他也貌似没要判断溢出,取巧突破

  1. #include<stdio.h>
  2. #include<malloc.h>
  3. #include<stdlib.h>
  4.  
  5. //函数状态码定义
  6. #define TRUE 1
  7. #define FALSE 0
  8. #define OK 1
  9. #define ERROR 0
  10. #define INFEASIBLE -1
  11. #define OVERFLOW -2
  12.  
  13. typedef int Status;
  14. typedef int ElemType; //假设线性表中的元素均为整型
  15.  
  16. typedef struct LNode
  17. {
  18. ElemType data;
  19. struct LNode *next;
  20. }LNode,*LinkList;
  21.  
  22. Status ListCreate_L(LinkList &L,int n)
  23. {
  24. LNode *rearPtr,*curPtr; //一个尾指针,一个指向新节点的指针
  25. L=(LNode*)malloc(sizeof (LNode));
  26. if(!L)exit(OVERFLOW);
  27. L->next=NULL; //先建立一个带头结点的单链表
  28. rearPtr=L; //初始时头结点为尾节点,rearPtr指向尾巴节点
  29. for (int i=1;i<=n;i++){ //每次循环都开辟一个新节点,并把新节点拼到尾节点后
  30. curPtr=(LNode*)malloc(sizeof(LNode));//生成新结点
  31. if(!curPtr)exit(OVERFLOW);
  32. scanf("%d",&curPtr->data);//输入元素值
  33. curPtr->next=NULL; //最后一个节点的next赋空
  34. rearPtr->next=curPtr;
  35. rearPtr=curPtr;
  36. }
  37. return OK;
  38. }
  39. //下面是需要实现的函数的声明
  40. int ListLocate_L(LinkList L, ElemType x);
  41.  
  42. int main()
  43. {
  44. LinkList L;
  45. int n;
  46. int x,k;
  47. scanf("%d",&n); //输入链表中元素个数
  48. if(ListCreate_L(L,n)!= OK) {
  49. printf("表创建失败!!!\n");
  50. return -1;
  51. }
  52. scanf("%d",&x); //输入待查找元素
  53. k=ListLocate_L(L,x);
  54. printf("%d\n",k);
  55. return 0;
  56. }
  57. int ListLocate_L(LinkList L, ElemType x)
  58. {
  59. LNode *p = L;
  60. int ipos = 0;
  61. while(p->next)
  62. {
  63.  
  64. if(p->data==x) return ipos;
  65. p=p->next;
  66. ipos++;
  67. }
  68. }

  

数据结构 单链表元素定位 PTA的更多相关文章

  1. python实现数据结构单链表

    #python实现数据结构单链表 # -*- coding: utf-8 -*- class Node(object): """节点""" ...

  2. C语言数据结构-单链表的实现-初始化、销毁、长度、查找、前驱、后继、插入、删除、显示操作

    1.数据结构-单链表的实现-C语言 typedef struct LNode { int data; struct LNode* next; } LNode,*LinkList; //这两者等价.Li ...

  3. 数据结构——单链表java简易实现

    巩固数据结构 单链表java实现 单链表除了表尾 每个几点都有一个后继 结点有数据和后继指针组成  通过构建表头和表尾(尾部追加需要)两个特殊几点 实现单链表的一些操作,代码如下 package co ...

  4. PHP之从反向删除单链表元素的问题谈起

    在完成一个单链表的删除指定元素的题目中,我发现了一件神奇的事情,php对象赋值给另外一个变量后,可以如同引用传值一般继续利用新的变量来实现链表的链接. 后面经过查证后发现: PHP7.0版本除了对象, ...

  5. C# 数据结构--单链表

    什么是单链表 这两天看到很多有关单链表的面试题,对单链表都不知道是啥的我.经过学习和整理来分享一下啥是单链表和单链表的一些基本使用方法.最后看些网上有关单链表的面试题代码实例. 啥是单链表? 单链表是 ...

  6. 数据结构-------单链表(C++)

    相关信息: /** * @subject 数据结构 实验2 * @author 信管1142班 201411671210 赖俊杰 * @project 单链表 * @time 2015年10月29日1 ...

  7. 数据结构 单链表&顺序表

    顺序表: 一般使用数组(C语言中的数组采用顺序存储方式.即连续地址存储)来描述. 优点:在于随机访问元素, 缺点:插入和和删除的时候,需要移动大量的元素. 链表: 优点:插入或删除元素时很方便,使用灵 ...

  8. python算法与数据结构-单链表(38)

    一.链表 链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的.链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成.每个结点包括 ...

  9. 数据结构——单链表(singly linked list)

    /* singlyLinkedList.c */ /* 单链表 */ /* 单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素. */ #include <stdio ...

随机推荐

  1. 第4章 同步控制 Synchronization ----互斥器(Mutexes)

    Win32 的 Mutex 用途和 critical section 非常类似,但是它牺牲速度以增加弹性.或许你已经猜到了,mutex 是 MUTual EXclusion 的缩写.一个时间内只能够有 ...

  2. mint-ui vue双向绑定

    由于最近项目需求,用上了mint-ui来重构移动端页面,从框架本身来讲我觉得很强大了,用起来也很不错,但是文档就真的是,,,,让我无言以对,给的api对于我们这些小菜鸟来讲真的是处处是坑呀(ps:用v ...

  3. Spring Framework 5.0 新特性

    Spring Framework 5.0是在Spring Framework 4.0之后将近四年内一次重大的升级. 在这个时间框架内,主要的发展之一就是Spring Boot项目的演变. Spring ...

  4. javascript中的DOM介绍(一)

    一.基础知识点 1.DOM是文档对象模型,是针对HTML和XML文档的一个API(应用程序接口) 2.DOM描绘了一个层次化的节点数,允许开发人员进行添加,移除个修改等操作 3.IE浏览器中所有的DO ...

  5. webapp 启动 手机app

    <div class="downLoad clearfix"> <div onclick="jsOpenApp.Close(this);" c ...

  6. Python实战之dict简单练习

    ['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__forma ...

  7. Echarts图表统计学习

    史上最全的Echarts图表学习文档 http://echarts.baidu.com/doc/doc.html 勤加练习,多做总结! http://www.stepday.com/topic/?79 ...

  8. UWP 唤起应用商城,邮件

    UWP做到收尾工作的时候,一般需要在应用内做一个关于页面,用于放你的邮箱链接,商店评论链接等.. 一:打开链接 打开链接有两种做法 1.用 HyperlinkButton  (超链接按钮)这个控件,给 ...

  9. Qt+VS2015应用程序发布

    本文以Qt 5.9.1+VS2015编译环境为例介绍应用程序发布流程,也适用于Qt+mingw的情况. 1. Qt依赖库 将需要发布的exe(如test.exe),放到单独的目录. 在"开始 ...

  10. 关于python安装一些包时出现的错误解决方法

    1.关于wordcloud的安装 --win10,py3.6环境下安装总是出现安装错误,解决方法,下载wordcloud的wheel文件,进行安装. 详情参考:https://github.com/a ...