妙趣横生算法 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,一经查实,立即删除!

相关文章

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;不得转载。

网络通信和网络编程

一、软件结构 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…

TCP协议和套接字

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

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

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

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

作为一个首席信息安全官&#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 …

WAP开发笔记(1)-.net移动页面中html控件不能直接显示的解决

最近这几天做了一些.NET移动控件的应用开发&#xff0c;与普通的asp.net页面比起来还是有点差别的。在.net移动页面中是不能直接使用普通的html控件的&#xff0c;这样给开发带来许多的不方便&#xff0c;因为感觉.net移动控件有很多功能都不能实现&#xff08;也可能是我不太熟…

BufferedInputStream学习笔记

【本文转载于http://icanfly.iteye.com/blog/1207397】 BufferedInputStream是一个带有缓冲区域的InputStream,它的继承体系如下&#xff1a; InputStream |__FilterInputStream |__BufferedInputStream首先了解一下FilterInputStream&#xff1a; FilterInputStrea…

文件上传案例——客户端和服务端套接字

一、文件上传原理 文件上传下载就是反复的输入流和输出流的read和wirte方法&#xff08;反复的内存和硬盘的交互&#xff09;&#xff1b; 二、实现 1、客户端实现&#xff1a; 2、服务端实现&#xff1a; 3、解决客户端和服务端两个程序在完成上传下载之后没有停止 原因是whil…

大家一起来博皮——2:液态布局和固态布局,页面框架篇

大家一起来博皮虽然博客园的皮肤很多&#xff0c;而且很漂亮。但是那些自己想更“个性化”自己博客皮肤的朋友&#xff0c;对博客园的皮肤模板还是颇多不满&#xff0c;认为皮肤的结构过于混乱&#xff0c;css样式难以掌控。针对这种情况&#xff0c;博客园开发团队在2007年底&…

Linux配置 DNS and BIND服务配置详解--缓存服务器配置 正反向解析配置

一、DNS简介一、DNS简介 DNS是计算机域名系统 (Domain Name System 或Domain Name Service) 的缩写&#xff0c;它是由域名解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址&#xff0c;并具有将域名转换为IP地址功能的服务器。其中域名必…

我的博客网站开发6——博文关键字搜索

在页面中&#xff0c;用户可以通过关键字的搜索功能搜索博文。可以实现类似百度和Google的页面搜索功能&#xff0c;可实现多个关键字的搜索。搜索后&#xff0c;在搜索的结果中有关键字的高亮度的提示如&#xff1a; 在搜索的结果页面&#xff0c;模仿Google的搜索页面的快照功…

shell 函数定义和调用

为什么80%的码农都做不了架构师&#xff1f;>>> 一. 函数定义 语法&#xff1a; [function] functionname[()]{action;[return int;] } 说明&#xff1a; 1、可以带function fun() 定义&#xff0c;也可以直接fun() 定义,不带任何参数。 2、参数返回&#xff0c;可…

Nhibernate代码生成器v2.1中文版

Nhibernate代码生成器v2.1中文版(转发)下载转载于:https://www.cnblogs.com/hakuci/archive/2008/03/15/1106802.html

Head First设计模式读书笔记——策略模式

问题描述&#xff1a; 目前的任务是实现一个FPS类游戏的各种角色&#xff08;友军、敌军、平民和狗、猫、鸭子等动物&#xff09;以及他们的各种行为&#xff08;攻击、游泳等&#xff09;。 设计方案一 很简单&#xff0c;只要实现一个角色超类&#xff0c;将角色的各种行为放…