首页 > 热门资讯 > 开源技术
单链表的查找
编辑:Vitamin_轩辰来源:51CTO博客时间:2021-01-13 18:12:48观看:次
单链表的查找分为按位查找和按值查找,其实上一节中插入和删除的过程已经先实现了查找操作,只不过插入和删除的查找是找到目标元素的上一个元素。而查找是找到目标元素。详情请看代码:
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
//单链表定义(结构体)
typedef struct LNode{
int data;//数据域
struct LNode *next;//指针域
}LNode,*LinkList;
//初始化单链表(不带头结点)
/*
bool InitList(LinkList &L){
L = NULL;//将单链表初始化为空表
return true;
}
*/
//初始化单链表(带头结点)
bool InitList(LinkList &L){
L = (LNode *)malloc(sizeof(LNode));//分配一个头结点,并且用L指针变量指向这个头结点
if(L==NULL){
return false;//内存不足分配失败
}
L->next = NULL;//头结点之后暂时还没有结点
return true;
}
//按位查找(带头节点)
LNode *GetElem(LinkList L,int i){
if(i<1){
return NULL;
}
LNode *p = (LNode *)malloc(sizeof(LNode));
int j=0;
p = L;
while(p!=NULL&&j<i){
p = p->next;
j++;
}
return p;
}
//按值查找(带头节点)
LNode *LocateElem(LinkList L,int e){
LNode *p = (LNode *)malloc(sizeof(LNode));
p = L->next;//使指针p指向第一个结点
while(p!=NULL && p->data!=e){
p = p->next;
}
return p;//找到返回结点指针,否则返回NULL
}
来顶一下 ( )
点击排行
- IntelliJ IDEA2020.2破解,IDEA2020.2注册码,IDEA2020.2破解 ,
- Spring Security 实战干货:基于注解的接口角色访问控制
- Graylog2:从Nginx收集日志并在Grafana中展示与分析
- “水泊梁山“互联网有限公司一百单八将内部社交网络
- 华农兄弟、徐大Sao&李子柒?谁才是B站美食区的最强王者?
- Pycharm激活码分享,2020最新Pycharm永久激活码~
- 好一个SpringBoot开源在线考试系统!解决我的燃眉之急
- 谁说有序链表不能进行二分查找,只是需要进化而已?!
- pandas 基础使用方法
- 服了,十年运维架构专家的MySQL运维经验,除了实战还是实战
本栏推荐
猜你喜欢
标签云
-
三级免费播放
账本
国旅
重庆网络推广
电视盒子
西门子PLC培训
丽柜
未成年禁止入内
火影小说
灌装机
工控机
练字方法技巧
P2P投资理财平台
辽宁公务员考试
有道
吸烟的危害
A-Level
破碎机厂家
mybatis
义乌招聘
pk10开奖
绍兴新闻
ColorOS社区
权威资料!
背景音乐
ProductsMadeinChina
股票学习网
聊天网址
收录网站
凯娜科技
硅胶胶水厂家
小蜜蜂
防雷检测
集成灶十大排名
围墙护栏
网络热词
管专用动态图
线上
夜生活
摄影艺术
嘉兴房产
小麦视频
国际DBA
慧聪网
公司起名大全
6080电影网站
圆弧抛光机
项目供应
泡妞秘籍
hd