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

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

//函数状态码定义
#define TRUE        1
#define FALSE       0
#define OK          1
#define ERROR       0
#define INFEASIBLE -1
#define OVERFLOW   -2

typedef int  Status;
typedef int  ElemType; //假设线性表中的元素均为整型

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

Status ListCreate_L(LinkList &L,int n)
{
    LNode *rearPtr,*curPtr;   //一个尾指针,一个指向新节点的指针
    L=(LNode*)malloc(sizeof (LNode));
    if(!L)exit(OVERFLOW);
    L->next=NULL;               //先建立一个带头结点的单链表
    rearPtr=L;  //初始时头结点为尾节点,rearPtr指向尾巴节点
    for (int i=1;i<=n;i++){  //每次循环都开辟一个新节点,并把新节点拼到尾节点后
        curPtr=(LNode*)malloc(sizeof(LNode));//生成新结点
        if(!curPtr)exit(OVERFLOW);
        scanf("%d",&curPtr->data);//输入元素值
        curPtr->next=NULL;  //最后一个节点的next赋空
        rearPtr->next=curPtr;
        rearPtr=curPtr;
    }
    return OK;
}
//下面是需要实现的函数的声明
int ListLocate_L(LinkList L, ElemType x);

int main()
{
    LinkList L;
    int n;
    int x,k;
    scanf("%d",&n);  //输入链表中元素个数
    if(ListCreate_L(L,n)!= OK) {
          printf("表创建失败!!!\n");
          return -1;
    }
   scanf("%d",&x); //输入待查找元素
   k=ListLocate_L(L,x);
   printf("%d\n",k);
   return 0;
}
int ListLocate_L(LinkList L, ElemType x)
{
    LNode *p = L;
    int ipos = 0;
    while(p->next)
    {

        if(p->data==x) return ipos;
        p=p->next;
        ipos++;
    }
}

  

最新文章

  1. 关于.NET知识体系结构图总结
  2. java学习第一天 回顾以前
  3. 【JAVA】FOR UPDATE 和 FOR UPDATE NOWAIT 区别 (转)
  4. js暂停的函数
  5. 【转】PHP实现连贯操作
  6. 拉勾网ThoughtWorks面试题代码实现
  7. MongoDB 中遇到的一些错误
  8. 精华阅读第 9 期 |滴滴出行 iOS 客户端架构演进之路
  9. HDFS体系结构
  10. 更改cmd语言(chcp)
  11. struts2之chain的使用
  12. Memcached【第一篇】安装
  13. 机器学习——KMeans聚类,KMeans原理,参数详解
  14. php 安装最新的redis连接扩展
  15. 浅析列表页请求优化(history API)
  16. 关于处理iis8.0中设置Request.BinaryRead 不允许操作的解决方法
  17. 解决mysql的内存表“table is full”错误
  18. 服务器使用VMware系软件管理主机集群
  19. (干货) Android实现ImageVIew多点触控及双击缩放
  20. tesseract-ocr识别中文扫描图片实例讲解

热门文章

  1. 如何使用windows版Docker并在IntelliJ IDEA使用Docker运行Spring Cloud项目
  2. spring框架总结(03)重点介绍(Spring框架的第二种核心掌握)
  3. 【归纳整理】Ajax / JSON / WEB存储 / iframe
  4. Entity Framework Code First实现乐观并发
  5. 【转】python数据格式化之pprint
  6. Cookie同域,跨域单点登录
  7. 当谈到 GitLab CI 的时候,我们都该聊些什么(下篇)
  8. 利用大白菜制作多系统启动U盘(win+ubuntu+PE+...)
  9. 使用vsftpd+nginx搭建一个文件服务器
  10. multiprocessing模块