`
bigkai_13
  • 浏览: 13429 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
最近访客 更多访客>>
社区版块
存档分类
最新评论

单链表按值和按序号查找

 
阅读更多

#include<malloc.h>;
#include<stdio.h>;
typedef struct node{
     int data;
     struct node *next;
}NODE;

NODE *locate(NODE *head,int value){   /*按值查找*/

      NODE *p;
      p=head->next;
      while((p!=NULL)&&(p->data!=value)){
             p=p->next;
      }
      return p;
    }
NODE *find(NODE *head,int index){
     NODE *p;
     int skip=1;
     p=head->next;
     while((p!=NULL)&&(index<skip)){

         p=p->next;
         skip++;
     }
     return p;
}


NODE *create(){    /*创建连接表*/
  NODE *head,*p,*q;
  char ch;
  int a;
  head=(NODE*)malloc(sizeof(NODE)); /*开辟一个空间*/
  q=head;
  scanf("%d",&a);
  ch=getchar();
  while(ch!='?'){
    p=(NODE*)malloc(sizeof(NODE));
    p->data=a;
    q->next=p;
    q=p;
    scanf("%d",&a);
    ch=getchar();
  }
  q->next=NULL;
  return head;
}

分享到:
评论

相关推荐

    单链表的基本操作.doc

    在本实验中,我们提供了两种查找方式:按序号查找和按值查找。按序号查找是指根据结点的序号来查找,而按值查找是指根据结点的值来查找。 五、实验结果 在本实验中,我们使用C语言来实现单链表的基本操作。实验...

    单链表的基本操作(实验)

    当选择插入功能时,从键盘读入新元素值和被插入位置,在指定位置插入;当选择查找功能时,从键盘读入欲查找的元素值,返回其位置序号;当选择求表长功能时,返回该单链表表长的数值。 (4) 每种操作结束后,都能在...

    数据结构与算法实验(C++):单链表实验-代码

    按序号查找 e.第i个位置插入和删除元素 f.求链表长度 g.输出单链表所有元素 h.原地置逆单链表 i.判断单链表是否递增 j.删除有序单链表中的值相同的多余结点(只保留一个值) 3)在主函数中定义对象,并调用成员...

    单链表完整程序

    - **按序号查找**:`SearchDoc_n(structlian_node *link, int n)`。此函数遍历链表,寻找序号为`n`的节点,但由于代码片段中未给出具体实现,我们仅能推测其功能。 #### 3. 插入节点 插入节点的函数为`InsertDoc...

    数据结构实验3-链表

    按序号查找 按值查找,如果找到返回结点的地址 按值查找,如果找到返回结点的序号 插入 删除 单链表的销毁 提高要求:链表合并,将两个递增有序的单链表合并为一个新的单链表。(提示:可以通过建立单链表的方式...

    《数据结构》实验指导实验二单链表的存储及操作.docx

    3. 实现单链表的基本运算算法,包括头插法和尾插法建立单链表、查找单链表中某个数据元素的逻辑序号、插入数据元素等。 七、单链表的性能分析 单链表的性能分析包括时间复杂度和空间复杂度。时间复杂度是指算法...

    C语言 基于单链表的班级通讯录.rar

    要求能够利用姓名和序号进行有关查找、插入、删除、更新等操作。 (1)以单链表作为存储班级通讯录的存储结构,首先需要定义一个单链表数据结构,其中每个元素是一条同学通讯信息,包括学号、姓名、性别、宿舍、联系...

    可视化的带头结点的单链表构造

    4. **查找**:能够按位置或值查找链表中的元素; 5. **获取长度**:计算链表的长度; 6. **销毁**:释放链表所占用的内存资源; 7. **其他**:鼓励学生自定义其他功能。 #### 编程环境与工具 本实验采用C++语言,...

    带头结点的单向链表的基本操作的实验代码和实验报告

    使用给定数据结构,实现带头结点的单向链表的创建、删除链表、插入结点等操作,每个学生的学号互不相同,学号不同而姓名相同则为不同的学生,每个学生的学号在合并后的链表中不重复,如果出现重复,则删除年龄较小...

    单链表的各种操作,包括使用二级指针创建单链表

    按序号查找\n"); printf("\t\t\t\t\t\t4.按值查找\n"); printf("\t\t\t\t\t\t5.按值插入\n"); printf("\t\t\t\t\t\t6.按位置插入\n"); printf("\t\t\t\t\t\t7.删除链表\n"); printf("\t\t\t\t\t\t8.测试链表并...

    单链表实验报告.doc

    最后,当指针p为空,或者计数器j大于i时,说明指定的序号i值不合法,取值失败返回ERROR,否则取值成功,此时j=i时,p所指的结点就是要找的第i个结点,用参数e保存当前结点的数据域,返回OK。 实验结果表明,单链表...

    头歌数据结构单链表的基本操作

    第3关单链表的按照序号查找值操作 第4关单链表的按照值查找结点位序的操作 第5关单链表的逆置操作 第6关两个有序单链表的合并操作 稳过 顺序表是线性表的顺序存储结构的别称,特点是以“存储位置相邻”表示两个...

    单链表(C语言版本)

    5. **按序号查找节点**: 函数`getelem_l`根据给定的位置`i`查找链表中的元素,并将其值存储在`e`中。如果找不到对应位置的元素,函数返回-1。 6. **按值查找节点**: 函数`locateelem_l`在链表中查找具有给定值`...

    单链表的操作实现实验报告.doc

    - 查找操作的时间复杂度取决于查找方式:按值查找和按序号查找的时间复杂度都是O(n),因为可能需要遍历整个链表。 - 插入和删除操作的时间复杂度也是O(n),最坏情况下需要遍历到链表末尾。 - 输出链表的时间复杂度是...

    数据结构实验二.doc

    最后,实验中的挑战是将单链表分解为两个新的单链表A和B,A链表包含原链表中序号为奇数的元素,B链表包含序号为偶数的元素,同时保持原有的相对顺序。这个操作需要两次遍历链表,一次构建A链表,一次构建B链表。 ...

    数据结构与算法单链表的实现.docx

    - 按序号查找:根据输入的序号找到对应的节点。 - 按值查找:找到包含指定值的节点,并返回该节点的位置。 - **插入操作**: 插入是在指定位置添加一个新的节点,需要先找到前一个节点,然后调整指针关系。 - *...

    链表实验报告.pdf

    7. 将单链表分解成两个单链表 A 和 B,使 A 链表中含有原链表中序号为奇数的元素,而 B 链表中含有原链表中序号为偶数的元素,且保持原来的相对顺序,分别输出单链表A 和单链表 B 的所有结点值,观察输出结果。...

Global site tag (gtag.js) - Google Analytics