精华内容
下载资源
问答
  • 7-6-2 求单链表元素序号 (10 分) 本题要求实现一个函数,求带头结点的单链表中元素序号。 函数接口定义: int Locate ( LinkList L, ElemType e); L是带头结点的单链表的头指针,e是要查找的元素值。如果e在单链表...

    7-6-2 求单链表元素序号 (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)
    {
    	LNode *p;//LNode为已经构造好的函数
    	int loc = 1;//题目所要求的序号位置
    	if(L==NULL)
    		return 0;//排除链表为空的情况
    	else
        {
    		p = L->next;
    		while(p!=NULL)
    		{
    			if(p->data!=e)//判断此时p指针所指的数据是否为e
    				{
    					loc++;
    					p = p->next;	
    				}	
    			else
    				break;
    		} 
    		if(p==NULL)
    		{
    			return 0;
    		}//此时表示没有找到要求查找的元素
    		else
    			return loc;
    	}//如果找到了,则返回loc,即元素位置
    }
    
    展开全文
  • 本题要求实现一个函数,带头结点的单链表元素序号。 函数接口定义: int Locate ( LinkList L, ElemType e); L是带头结点的单链表的头指针,e是要查找的元素值。如果e在单链表中存在,函数Locate返回其序号...

    本题要求实现一个函数,求带头结点的单链表中元素序号。

    函数接口定义:
    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

    带头节点;则第一个是空节点记为0;
    p = L->next; 才是第一个节点。

    在这里插入图片描述

    int Locate ( LinkList L, ElemType e)
    {
        int count = 1;
    
        L = L->next;
        while (L != NULL)
        {
            if (L->data == e)
                return count;
            L = L->next;
            count++;
        }
        
        return 0;
    }
    
    展开全文
  • 本题要求实现一个函数,带头结点的单链表元素序号。 函数接口定义: int Locate ( LinkList L, ElemType e); L是带头结点的单链表的头指针,e是要查找的元素值。如果e在单链表中存在,函数Locate返回其序号...

    题目

    本题要求实现一个函数,求带头结点的单链表中元素序号。

    函数接口定义:

    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)
    {
    	LNode *p;
    	int loc = 1;
    	if(L==NULL)
    		return 0;
    	else{
     
    		p = L->next;
    		while(p!=NULL)
    		{
    			if(p->data!=e)
    				{
    					loc++;
    					p = p->next;	
    				}	
    			else
    				break;
    		} 
    		if(p==NULL)
    		{
    			return 0;
    		}
    		else
    			return loc;
    	}
    }
     
    

    测试点:

    在这里插入图片描述

    展开全文
  • 6-8 求单链表元素序号 (10分)

    千次阅读 2020-02-06 17:54:38
    本题要求实现一个函数,带头结点的单链表元素序号。 函数接口定义: int Locate ( LinkList L, ElemType e); L是带头结点的单链表的头指针,e是要查找的元素值。如果e在单链表中存在,函数Locate返回其序号...

    本题要求实现一个函数,求带头结点的单链表中元素序号。

    函数接口定义:

    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

    分析: 

    一开始有一个1分的点一直卡着不过

    后来发现是思路和人家想的不一样,别人的代码是先判断是不是一样再往下走,如果不一样才继续找,而我的代码是不管三七二十一一直找,找得到才停下,这样如果是非空链表而没有相应值,那么得到的就是错误的结果。

    先附上9分代码:

    int Locate ( LinkList L, ElemType e)
    {
    	if(L==NULL)
    		return 0;
    	int loc = 0;
    	while(L->next!=NULL)
    	{
    		loc++;
    		L = L->next;
    		if(e==L->data)
    			break;
    	}
    	return loc;
    }

    然后是完全正确的代码:

     

    int Locate ( LinkList L, ElemType e)
    {
    	LNode *p;
    	int loc = 1;
    	if(L==NULL)
    		return 0;
    	else{
    
    		p = L->next;
    		while(p!=NULL)
    		{
    			if(p->data!=e)
    				{
    					loc++;
    					p = p->next;	
    				}	
    			else
    				break;
    		} 
    		if(p==NULL)
    		{
    			return 0;
    		}
    		else
    			return loc;
    	}
    }
    
    

     

    展开全文
  • 本题要求实现一个函数,带头结点的单链表元素序号。 函数接口定义: int Locate ( LinkList L, ElemType e); L是带头结点的单链表的头指针,e是要查找的元素值。如果e在单链表中存在,函数Locate返回其序号...
  • 单链表

    千次阅读 2011-10-22 09:58:24
    /*3. 按照课本第2.3.1节定义的单链表结构,完成对单链表结构的定义,以及对单链表的各种基本运算的实现(每种基本运算用一个函数来实现)。 基本运算包括 ...输出单链表中所有结点的数据元素值Displa
  • 单链表的实现

    2020-12-21 20:03:32
    #include using namespace std; template ...//求单链表的长度 datatype Get(int i);//按位查找,查找第i个结点的元素值 int locate(datatype x);//按值查找,查找值为x的元素序号 void insert(in
  • 单链表的基本操作

    2016-11-19 11:58:54
    2016年7月14日16:22:48 单链表的基本运算有: ...求单链表的长度; 5.根据内容查找元素; 6.根据序号查找单链表; 7.单链表的插入; 8.单链表的删除; 9.单链表的遍历; 10.销毁单链表;#include<stdio.h>//
  • 并将创建好的单链表元素依次打印在屏幕上。(注意:选择头插法或者尾插法!) (2) 设计一个带选择功能菜单的主函数,菜单中至少具备任意选择删除、插入、查找数据元素,和单链表表长等几项功能。 (3) 当选择...
  • 数据结构单链表

    2019-04-11 23:42:00
    代码实现单链表的定义和创建,给单链表赋值其长度、给任意的序号或者元素值寻找元素值或者序号。写完程序代码的第一感觉就是代码需要经常写,不写就更加不会写,hhhh #include<stdio.h>#include<stdlib....
  • 9.单链表操作

    2020-12-04 16:02:24
    销毁单链表 [补充算法]清空单链表 链表仍然存在将其置空(头结点和头指针...②从首元结点开始依次顺着链域next向下访问,只要指向当前结点的指针p不为空(NULL), 并且没有到达序号为i的结点,则循环执行以下操作: .
  • //建立有n个元素单链表 int length(); //得到单链表的长度 int locate(int x); //查找元素为x的下标 int get(int x); //查找下标为x的元素 void insert(int i, int x); //在第i个元素的位置插入x int ...
  • 按值查找:按序号查找:按值查找:插入:前插法:后插法:删除:删除第i个元素删除给定节点 *p表长: 定义: 线性表的链式存储又称单链表 即:通过一组任意的存储单元来存储线性表当中的数据元素,数据元素存储的...
  • 单链表的相关操作和测试(C语言)

    千次阅读 2018-10-03 14:37:29
    单链表的相关操作和测试(C语言)&...按序号查找元素结点5.按值查找(定位)6.按序号插入结点7.按序号删除结点8.释放单链表9.打印链表10.翻转链表Mode.cpp补充 “single-LinkList.h” 头文件 #ifndef _SINGLE_LL
  • c++单链表实现功能

    2010-05-03 14:46:04
    //遍历线性表,按序号依次输出各个元素。 private: T data[MaxSize]; int length; }; template<class T> SeqList<T>::SeqList(T a[],int n) //有参构造函数 { if(n>MaxSize)throw"参数非法"; for(int i=0...
  • 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 TD02-线性表的链式存储-单链表一、单链表基本概念二、...2、通过“链”建立起数据元素之间的逻辑关系,插入和删除操作不需要移动大量元素,只需修
  • void getelem(headnode *l,int i)//线性表中第i个元素 { int j=1; linknode *p=l->next;//p指向首个数据结点 if(i) printf("false");//i错误返回假 while(j!=NULL)//找第i个结点p { j++; p=p->next; ...
  • 数据结构实验3-链表

    2013-12-04 19:50:34
    单链表求表长 按序号查找 按值查找,如果找到返回结点的地址 按值查找,如果找到返回结点的序号 插入 删除 单链表的销毁 提高要求:链表合并,将两个递增有序的单链表合并为一个新的单链表。(提示:可以通过建立...
  • 求单链表的表长。 ④判断链表是否为空。 ⑤取值:取单链表中第i个元素的内容。 ⑥查找: 按值查找:根据指定数据获取数据所在的位置(该数据的地址)。 按值查找:根据指定数据获取数据所在的位置序号(是第...
  • 求单链表的表长。 ④判断链表是否为空。 ⑤取值:取单链表中第i个元素的内容。 ⑥查找: 按值查找:根据指定数据获取数据所在的位置(地址)。 按值查找:根据指定数据获取数据所在的位置序号。 ⑦插入:在...
  • //令指针p指向序号为偶数的元素 q=LA->next;//令指针q指向序号为奇数的元素 r=LB;//令指针r指向LB s=LC;//令指针s指向LC //插入LB的第一个元素 LB->next=p; q->next=p->next; p=(p->next)-...
  • 求单链表的表长。 ④判断链表是否为空。 ⑤取值:取单链表中第i个元素的内容。 ⑥查找: 按值查找:根据指定数据获取数据所在的位置(地址)。 按值查找:根据指定数据获取数据所在的位置序号。 ⑦插入:在...

空空如也

空空如也

1 2 3
收藏数 50
精华内容 20
热门标签
关键字:

求单链表元素序号