妙趣横生算法 3:寻找相同元素的指针

实例说明

在已知两个从小到大的有序的数表中寻找出现的相同元素在第一个数表中的指针。

运行结果

image

 

实例解析

   

        设两个数表的首元素指针分别为pa和pb,两个数表分别有元素an和bn个。另外,引入两个指针变量ca和cb,分别指向两个数表的当前访问元素。由于两个数表从小到大有序,可让ca和cb同时顺序访问两数表实现寻找,不必对一个数表的每个元素与另一数表的所有元素都要比较。当一个数表的当前元素小于另一个数表的当前元素时,就调整那个当前元素值小的元素的指针,使它指向下一个元素(如果下一个元素存在)如此比较直至当两个数表的当前元素相等,该元素就是在两个数表中都出现的第一个元素,或者其中某个数表已查找完,则判断在两数表中不存在值相等的元素。

 

程序代码

 

#include <stdio.h>
/*在已知两个从小到大有序的数表中寻找都出现的第一个元素的指针*/int *search(int *pa,int *pb,int an ,int bn)
{int *ca,*cb;ca=pa;cb=pb;/*为ca,cb设定初值*/while(ca<pa+an&&cb<pa+bn){/*在两个数表中找下一个相等的元素*/if(*ca<*cb)/*数表1的当前元素<数表2的当前元素*/{ca++;}else if(*ca>*cb)/*数表1的当前元素>数表2的当前元素*/{cb++;}else{return ca;}}return NULL;
}
main()/*只是为了引用函数search*/
{int *vp,i;int a[]={1,3,5,7,9,12,17,19,23,35,46};int b[]={2,4,6,7,10,23,24,25,33,45,56};printf("The elements of array a is :");for(i=0;i<sizeof(a)/sizeof(a[0]);i++){printf(" %d ",a[i]);}printf("\nThe elements of array b is :");for(i=0;i<sizeof(b)/sizeof(b[0]);i++){printf(" %d ",b[i]);}vp=search(a,b,sizeof(a)/sizeof(a[0]),sizeof(b)/sizeof(b[0]));if(vp){printf("\n The first same number in both arrays is %d\n",*vp);}else{printf("Not found!\n");}printf("\n Press any key to quit....\n");getchar();}

转载于:https://www.cnblogs.com/huangye123_hi/archive/2012/01/22/2328746.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/262928.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PostgreSQL学习手册(PL/pgSQL过程语言)【转】

原文http://www.cnblogs.com/stephen-liu74/archive/2012/06/06/2312759.html 一、概述&#xff1a; PL/pgSQL函数在第一次被调用时&#xff0c;其函数内的源代码(文本)将被解析为二进制指令树&#xff0c;但是函数内的表达式和SQL命令只有在首次用到它们的时候&#xff0c;…

Nginx 笔记与总结(14)expires 缓存设置

设置缓存&#xff0c;可以提高网站性能。 当网站的部分内容&#xff0c;比如新闻站的图片&#xff0c;一旦发布就不太可能发生更改&#xff0c;此时需要用户在访问一次页面之后&#xff0c;把该页面的图片缓存在用户的浏览器端一段时间&#xff0c;就可以用到 nginx 的 expires…

WP7应用开发笔记(8) IP输入框控件

因为需要在手机上配置IP&#xff0c;我需要一个界面输入IP地址&#xff0c;虽然直接使用TextBox&#xff0c;但是这样不太友好&#xff0c;我希望能够有和Windows网络设置上一样的IP输入框。所以决定写一个自定义控件。 设计控件外观 4个TextBox和3个显示“.”的TextBlock就可以…

C#并发实战Parallel.ForEach使用

前言&#xff1a;最近给客户开发一个伙食费计算系统&#xff0c;大概需要计算2000个人的伙食。需求是按照员工的预定报餐计划对消费记录进行检查&#xff0c;如有未报餐有刷卡或者有报餐没刷卡的要进行一定的金额扣减等一系列规则。一开始我的想法比较简单&#xff0c;直接用一…

[MSDN]ASP.NET MVC2(5)MVCRoute和urls

说明&#xff1a;本内容来自微软的webcast&#xff0c;讲师为苏鹏。视频没有书方便(想看哪页就看哪页)&#xff0c;所以抄录要点和老师语录。 内容介绍 - url和routes介绍 - routes匹配url的工作方式 - 使用routes Router对象mvc运转的核心。 预备知…

一个、说到所有的扩展指标

版权声明&#xff1a;本文博客原创文章&#xff0c;博客&#xff0c;未经同意&#xff0c;不得转载。

张小娴的文章,喜欢的,贴来存档

爱情是不能报复的爱情是不能报复的。一旦采取报复行动&#xff0c;你只会失去它。有些女人很傻&#xff0c;她以为以牙还牙就可以挽回一段爱情。男朋友在外面有女人&#xff0c;于是&#xff0c;她也去找男人。然而&#xff0c;两者的分别却是她男朋友找自己喜欢的女人&#xf…

MessagePack Java Jackson Dataformat 在 Map 中不使用 String 为 Key 的序列化

当你希望在 Map 中不使用 String 为 Key&#xff0c;那么你需要使用 MessagePackKeySerializer 来为 key 进行序列化。 本测试方法&#xff0c;可以在 https://github.com/cwiki-us-demo/serialize-deserialize-demo-java/blob/master/src/test/java/com/insight/demo/serializ…

批量获取远程计算机MAC

功能及用途 用于采集局域网所有计算机信息主要是mac地址&#xff0c;ip地址&#xff0c;主机名。 格式化读写函数 fprintf()格式化写 fscanf()格式化读 使用说明 IP文件&#xff1a;ip.txt IP文件格式&#xff1a;ip空格其他信息 IP文件和该执行文件放同一目录 代码 // ALLMAC.…

网络通信和网络编程

一、软件结构 C/S Client/Server B/S Browser/Server 二、网络通信协议 1、协议分类 UDP 应用&#xff1a; TCP/IP 三、网络编程三要素 1、协议&#xff08;UDP、TCP/IP&#xff09; 2、IP地址 3、端口号 转载于:https://www.cnblogs.com/wmqiang/p/11333351.html

[Android] 输入系统(二)

在上一篇文章的最后&#xff0c;我们发现InputDispatcher是调用了InputChannel->sendMessage把键值发送出去&#xff0c;那么相应的&#xff0c;也有接收键值的地方。接收函数是InputChannel->receiveMessage。 在InputConsumer::consume内找到了receiveMessage&#xff…

字体--Ubuntu手记之系统配置

今天上午终于实现了一次无windows办公。但是一上午下来竟然感到有些眼睛花&#xff0c;也不知道是因为ubunbtu的字体没配好&#xff0c;于是开始琢磨着下几个字体&#xff0c;还是照老规矩&#xff0c;先到社区里面搜。找到一个比较好的地址里面的字体比较多&#xff0c;"…

MM 常用table

*------------------------------------------------* MM 模块总结*------------------------------------------------mara " 物料主表makt " 物料描述 likp " 销售订单-Headerlips " 销售定单-Itemproj " 项目定义prps " 采购定…

TCP协议和套接字

一、TCP通信概述&#xff0c;逻辑连接就是三次握手 二、客户端和服务端实现TCP协议通信基本步骤 1、客户端套接字对象 Socket 2、服务端套接字ServerSocket 客户端补充完整代码&#xff1a;除了创建各自的Socket对象有关代码&#xff0c;其他代码一样&#xff0c;就输出流的输出…

【常用术语缩写】

---abbreviation--- href&#xff1a;Hypertext Reference的缩写。意思是超文本引用&#xff1b;gc()方法&#xff1a;garbage collector&#xff1b;MDI(Multiple Document Interface)就是所谓的多文档界面;ifconfig: network interfaces configuring&#xff0c;网络接口配置…

[摘抄]MySQL数据库系统的常规管理介绍

在运行数据库系统时&#xff0c; MySQL的使用相当简单&#xff0c;且进行MySQL安装和使用所需的工作也很少。然而&#xff0c;不论您是什么级别的专家&#xff0c;MySQL的安装程序都不能自动运行。必须有人来监视它以确保它能顺利和有效地运行&#xff0c;有时还必须知道当问题…

齐博V7仿爱丽图库模板(含齐博图库V1.0模板)

齐博模板图片模板 本齐博模板包含两个版本&#xff0c;分别适用于齐博V7整站的图片模型模板和齐博图库程序V1版。 1、图片独立频道页设置 整站后台添加独立频道页面名称&#xff1a;图片专题 网页头部模板&#xff1a;************************ 网页中间模板&#xff1a;******…

我的第一份工作 (2007.2.28--2008.2.28) 上海三高计算机中心有限公司

在这整整的一年的时间里,我完成了从学生到工人的转变, 知识也积累了挺多, 转载于:https://www.cnblogs.com/xinhua327/articles/1085169.html

信息安全官谁:逼近的挑战,你准备好了吗?

作为一个首席信息安全官&#xff08;CISO&#xff09;并不easy&#xff0c;一方面要时刻面对董事会提出的难题。还有一方面在处理解决公司的安全威胁时&#xff0c;又不能超出预算范围。然而首席信息安全官的资源保持不变时&#xff0c;威胁环境本身却是千变万化、日新月异。因…

【hash】Seek the Name, Seek the Fame

【哈希和哈希表】Seek the Name, Seek the Fame 题目描述 The little cat is so famous, that many couples tramp over hill and dale to Byteland, and asked the little cat to give names to their newly-born babies. They seek the name, and at the same time seek the …