先了解一下头结点:
头结点本身并不存在链表里面的元素信息,我们用头结点的目的是方便以后将所有元素全部找起来。

如下代码分别对应求个数,取值,查找
注意:取值的函数第二个参数是位置
查找的函数第二个参数是给定的元素值。(前提是我们知道了链表每个节点存的数据类型)

#include "LinkList.h"///创建带有头结点的链表Init
LinkListNode *InitLinkList(void)
{LinkListNode *pHead = NULL;pHead = (LinkListNode*)malloc(sizeof(LinkListNode));if(pHead){pHead->pNext = NULL;}return pHead;
}///求长度:求线性表中元素的个数
int getSizeLinkList(LinkListNOde *pHead)  //把链表的头结点当参数给到就行,逻辑进行遍历求长度
{int n = 0;while(pHead->pNext){n++;pHead = pHead->pNext;}return n;
}///取元素,取给定位置的元素值
//输入链表的头指针,要查找的编号,输出第i个元素的地址
//pHead:头指针,pos待查节点的序号
LinkListNode *getLinkListNode(LinkListNode *pHead,int pos)
{int j;LinKListNode *p;p = pHead;j = 0;if(pos == 0){return NULL;}while(j<pos && pNext !=NULL){p = pNext;j++;}if(pos == j)return p;elsereturn NULL;
}///查元素,查找给定元素的位置
//找到就返回结点的地址,找不到就返回NULL
LinkListNode *locateLinkList(LinkListNode *pHead,int objData)
{LinkListNode *p;p = pHead->pNext;  // 跳过头结点while(p!=NULL && p->data != objData){p = p->pNext;}return p;
}

数据结构专题(二):2.2单链表与顺序表,求元素个数,取值与查找相关推荐

  1. 数据结构专题(二):2.1单链表与顺序表的关系

    先来看看单链表的结构设计 由上图可知,链表可以看作有以下两部分组成,数据域和链域(联系域),链域用来确定每个节点的的后继. 如下代码:h文件 #pragma once #include <std ...

  2. 数据结构专题(二):2.5在链表指定位置插入元素

    如下代码: ///插入元素,在指定位置插入给定的值 //在指定位置之后插入 void insert_After_LkList(LinkListNode *ptr,ElemType x) {LinkLi ...

  3. 设A和B是两个单链表,其表中元素递增有序,使用一算法将A和B归并成一个案元素递减有序的单链表C

    代码: LinkList* commonElem(LinkList* L1,LinkList* L2){LinkList* L = new LinkList;LinkList* rear = L;Li ...

  4. 【C数据结构】单链表的实现以及链表和顺序表的优缺点

    文章目录 一.链表和顺序表的相辅相成 二.认识链表的最简单结构(单链表) 1.单链表的结构: 2.单链表的简单操作实现: (1).提前准备(头文件和测试源文件) (2).单链表的头插.尾插与创建一个新 ...

  5. 【python】数据结构和算法 + 浅谈单链表与双链表的区别

    有这么一句话说"程序=数据结构+算法",也有人说"如果把编程比作做菜,那么数据结构就好比食材(菜),算法就好比厨艺(做菜的技巧)". 当然这是笼统的说法,不过也 ...

  6. 数据结构与算法 完整版单链表(附GIF)

    因为博主认为单链表是非常重要的数据结构,能够熟练使用单链表的话后面的数据结构会越学越轻松,所以博主就把这篇博客做的细致一点,不是很好懂的地方做成 gif 动画,希望大家能理解期中代码的含义 学习链表的 ...

  7. 数据结构__头插法建立单链表、尾插法建立单链表

    单链表定义.头插法建表.尾插法建表 一.单链表的定义   单链表是线性表的链式存储,是指通过一组任意的存储单元来存储线性表中的数据元素. 单链表结构定义为: 其中data为数据域,用来存放数据:nex ...

  8. 数据结构学习(C++)——单链表应用(一元多项式【1】) (转)

    数据结构学习(C++)--单链表应用(一元多项式[1]) (转)[@more@] 总算到了这里,这时,你会很得意的说,辛辛苦苦学的单链表总算知道能干点什么了.但是很不幸,如果你和我一样看的是那本书,到 ...

  9. 数据结构(5)之单链表的操作(补充)

    1 前言 上次我们讲到单链表的存储和一些简单的算法,今天我们来学习一下单链表的初始化和销毁操作. 2 详述 2.1 单链表的整表创建 思路: ·声明一结点p和计数器变量i; ·初始化一空链表L: ·让 ...

最新文章

  1. LeetCode之283. Move Zeroes
  2. o型圈沟槽设计_深圳综合O型密封圈ID544.4MM*8.6MM报价-星湖蓝海科技
  3. 进程调试--进程启动VS自动附加
  4. mysql8 安装_MySQL8.x安装使用
  5. Mybatis组成部分
  6. ES6学习笔记(二):教你玩转类的继承和类的对象
  7. 计算机二级考vb试题,2017计算机二级考试VB练习题及答案
  8. IDC:2021年全年中国市场折叠屏产品规模约150万台
  9. php filesize() 方法返回的文件大小异常
  10. 笔记本电脑如何保养_电脑温度一高就“翻脸”,电脑小白该如何解决?学会少花冤枉钱...
  11. php 如何将xml转为数组array
  12. IE6下实现Width:auto
  13. Xcode6在iPhone5+iOS7模拟器上编译,上下有黑边问题
  14. 126邮箱绑定QQ邮箱并微信提醒
  15. Linux服务器监控性能测试
  16. 谷歌云端硬盘快速下载方法_如何快速搜索Google云端硬盘
  17. CentOS上使用docker安装redis
  18. 企业如何正确选择云服务商
  19. 通过mqtt再利用移动oneNet平台的连接与数据收发
  20. C# WinForm实现窗口始终在顶层

热门文章

  1. css3兼容性问题归纳
  2. 【转载】清华人都如此努力,那我们呢?
  3. 如果全世界人口压缩到100人
  4. 从零开始学前端:列表标签 --- 今天你学习了吗?(CSS:Day06)
  5. 4一20ma电流有源与无源区别_【知识分享】信号的有源与无源(2)
  6. Python使用多进程提高网络爬虫的爬取速度
  7. Python筛选Excel文件中超过一定年龄的人员信息
  8. linux 源码搭建lnmp_详解CentOS 7.0源码包搭建LNMP 实际环境搭建
  9. php 正则匹配所有路径,与文件路径匹配的PHP正则表达式
  10. 图标选择器_【小技巧】巧用CSS属性值正则匹配选择器