4-数据结构-顺序表的查找

2023-11-09

说明:
顺序表的查找,分为按照位置查找,返回对应值和按照值查找,返回该值位置、

思路:

  1. getlist(sqlist &l,int k)为按位查找,返回具体数值。
  2. locatelist(sqlist &l,int k)按照值,去查找位置。

因为顺序表都是连续存放的,所以方便随机存取,只需遍历找值或者给出位置取数,便可存放值。

代码如下:

#include <stdio.h>
#include <malloc.h>
#define initsize 10
typedef struct //定义一个动态顺序表的结构体,并起别名为sqlist 
{
	int *data; //因为是动态数组,所以先定一个指针,表示数组,后面malloc动态分配即可 
	int max;
	int length;
	
}sqlist;
int getlist(sqlist &l,int k)//按位查找,通过位置定值 
{
	if(k-1<1 || k-1>l.length)
	return 0;
	else 
	return l.data[k-1];
}
int locatelist(sqlist &l,int k)//按值查找,然后从头到尾,进行遍历,直到找到为止 
{
	int i; 
	for(i=0;i<l.length;i++)
	{
		if(l.data[i]==k)
		return i-1;
	}
}

void initlist(sqlist &l)//初始化顺序表操作,并创建动态数组 
{
	l.data=(int*)malloc(sizeof(int)*initsize);
	l.length=0;
	l.max=initsize;
}

int main()
{
	sqlist l;
	initlist(l);
	//给顺序表赋初始值 
	int i;
	printf("max=%d\n",l.max); 
	for(i=0;i<5;i++)
	{
		l.data[i]=i+1;
		l.length++;
		printf("%d ",l.data[i]) ;
	}
	printf("\n按位查找为%d\n",getlist(l,3));
	printf("按值查找为%d\n",getlist(l,3));



	return 0;	
} 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

4-数据结构-顺序表的查找 的相关文章

随机推荐

  • python运算符

    算术运算符 以下假设变量 a 10 b 20 加 两个对象相加 a b 输出结果 30 减 得到负数或是一个数减去另一个数 a b 输出结果 10 乘 两个数相乘或是返回一个被重复若干次的字符串 a b 输出结果 200 除 x除以y b
  • python matplotlib数据可视化案例-生成柱状图,饼图(扇形图),词云。

    目前python spark scala十分火爆 于是我就利用爬虫将猎聘上的招聘信息进行了一下获取 相比起来 猎聘上的职位数量还是很多的 3中技术类型以 python spark scala 作为关键词 一共爬取了一万多条信息 爬取的主要信
  • 【告别普通打包】webpack打包结果优化特性:Tree Sharking 和 sideEffects

    文章目录 1 Tree Shaking 摇树 1 1 摇树讲解 1 2 开启 Tree Shaking 1 3 合并模块 扩展 1 4 探讨 babel loader 的问题 2 sideEffects 2 1 sideEffects讲解
  • kotlin语法总结(二)

    上一章地址 kotlin语法总结 一 文章目录 前言 前言 这章接着上一章语法总结继续讲解 主要讲kotlin和java不一样的地方 40 嵌套类 41 数据类 data class 提供toString equals hashCode个性
  • qemu创建linux虚拟机(亲测有效,virt-manger方式)

    1 网桥的搭建 Bridge方式原理 Bridge方式即虚拟网桥的网络连接方式 是客户机和子网里面的机器能够互相通信 可以使虚拟机成为网络中具有独立IP的主机 桥接网络 也叫物理设备共享 被用作把一个物理设备复制到一台虚拟机 网桥多用作高级
  • linux下一个简单的TCP通信程序——客户端向服务端发送任意字符串

    程序目的 服务器端等待客户端连接 若连接成功 则用户可以通过服务器在接受到字符串后进行判断 若不是quit字符串则输出客服端的地址信息 以及接受到的数据 同时将接受到的数据按照原样再发给客服端 若是quit字符串则断开本次连接 问题以及解决
  • 代码点和代码单元

    codePoint和codeUnit 背景 在设计Java时决定采用16位的Unicode字符集 然而16位的Char类型已经不能满足描述所有Unicode字符的需要了 为了解决这个问题 故使用代码点和代码单元 区别 代码点 Code Po
  • C++数据结构X篇_06_C++单向循环链表实现

    本篇参考C 单向循环链表实现整理 先搞懂结构框架 后期根据视频利用c对内容实现 也可以对c有更高的提升 文章目录 1 链表定义 2 链表插入 3 链表打印 注意打印过程是跳过头节点head的 4 实验 单向循环链表与单向链表十分相似 具有关
  • Java 子类继承父类方法的重写(或者覆盖,override)

    1 子类重写父类方法的方法名 参数类型必须与父类被重写 被覆盖 的方法相同 2 子类方法的返回值类型必须小于等于父类被重写的方法的返回值类型 3 子类抛出的异常小于等于父类方法抛出的异常 4 子类的访问权限大于等于父类的访问权限 子类重写了
  • 文心千帆大模型测评分享,效果超出预期

    一 前言 现如今 随着ChatGPT的爆火越来越多的人开始关注人工智能领域了 大家都在尝试使用它来帮助自己在工作上提高效率亦或是解决一些问题 但ChatGPT是有一定的使用门槛的 首先需要我们 科学上网 才能访问 其次GPT4的价格相对来说
  • 2.关于剪枝算法的分类和论文整理

    第二篇 关于剪枝算法的分类 1 非结构化剪枝 1 1 非结构化的weights剪枝 2 结构化剪枝 2 1 Filter Channel Pruning 2 2 Neuron wise pruning 2 3 Group wise Prun
  • Ag-grid属性整理

    import ClickableStatusBarComponent from component clickableStatusBarComponent import HaearCustomComponent from component
  • 数字图像处理之二维码图像提取算法(十)

    这里来说明一下做这次的二维码提取算法用到的函数 最后再给出完整的代码 进行图像的二值化 这里可以使用opencv2里的函数threshold 当然在opencv里也有cvThreshold函数 这个函数可以具体参考 http blog cs
  • 电影院里一个男孩对他女友所做的全过程

    电影院里一个男孩对他女友所做的全过程 周末上电影院看电影 热得不行 提前入场好凉快凉快 坐定 见一对青年男女挽手走了进来 男孩大概二十三四岁模样 肩上挎着他女友的背包 手里拿着一包零食还有可乐 男孩轻声征询女孩究竟坐哪儿合适 女孩没说话 努
  • Hibernate 一对多 多对一 实例 及一些 问题(1)插入及查询

    Clazz java package com wonders task sample bo import java util Set import javax persistence CascadeType import javax per
  • [安全开发]日志敏感信息检测-1-身份证

    前言 身份证号码格式 正则提取 地址码校验 校验码校验 优化思考 前言 防止敏感信息泄漏 保护用户和企业信息隐私 是企业安全中重要的环节 通过检测日志中的敏感信息 能够 排查潜在的泄漏敏感信息的系统和接口 防止被黑产恶意利用 盗取用户敏感信
  • vuex动态路由

    import router asyncRoutes constantRoutes from router import getRouters from api menu import Layout from layout index imp
  • 联想票务系统服务器,联想中国(Lenovo China)_服务频道_服务政策

    Lenovo ThinkServer Partner Pack for Microsoft System Center 重要通知 ThinkServer RD350 RD450 RD550 RD650 TD350 中Lenovo Think
  • APP开发如何批量生成不同尺寸的图标?

    在我们开发APP的时候 我们使用到大量的不同尺寸的APPLogo的图片 如下图 通常 我们的做法是和设计师沟通 让他们切出这儿所以的图片 然后我们一个一个图片放在对应的位置 这样处理的话 我们比较容易出错 比如说 图片的格式 苹果对图片的格
  • 4-数据结构-顺序表的查找

    说明 顺序表的查找 分为按照位置查找 返回对应值和按照值查找 返回该值位置 思路 getlist sqlist l int k 为按位查找 返回具体数值 locatelist sqlist l int k 按照值 去查找位置 因为顺序表都是