C语言:返回两个数组中第一个元素的指针,并输出这个值

//

//  main.c

//  Pointer_search

//

//  Created by ma c on 15/8/2.

//  Copyright (c) 2015年 bjsxt. All rights reserved.

//  要求:通过指针查找,实现比较两个有序数组中的元素,输出两个数组中的第一个相同的元素值。

#include <stdio.h>

int *searchSameElement(int *a,int *b,int len1,int len2);

int main(int argc, const char * argv[])

{

int a[] = {4,51,8,6,7,10};

int b[] = {80,8,10,90,7,10,51};

int len1 = sizeof(a)/sizeof(a[0]);

int len2 = sizeof(b)/sizeof(b[0]);

int *pt = searchSameElement(a,b,len1,len2);//返回第一个相同的值地址

if(pt)

printf("%d\n",*pt);

else

printf("the same number don not find!\n");

return 0;

}

int *searchSameElement(int *a,int *b,int len1,int len2)

{

int *pa = a;

int *pb = b;

while((pa++)<(a+len1))

{

while(pb<(b+len2))

{

if(*pa!=*pb)

{

pb++;

}

else

{

return pa;

}

}

}

return 0;

}

时间: 2024-12-28 21:30:39

C语言:返回两个数组中第一个元素的指针,并输出这个值的相关文章

C 语言:返回两个数组中第一个相同元素的指针(我用了loop 、goto loop标签)

// //  main.c //  Pointer_search // //  Created by ma c on 15/8/2. //  Copyright (c) 2015年 bjsxt. All rights reserved. //  要求:通过指针查找,实现比较两个有序数组中的元素,输出两个数组中的第一个相同的元素值. #include <stdio.h> int *searchSameElement(int *a,int *b,int len1,int len2); int ma

有两数组A、B,长度分别为m、n。用不超过m+n的比较次数找到两个数组中的相同元素

今天碰到一道笔试题:有两数组A.B,长度分别为m.n.用不超过m+n的比较次数找到两个数组中的相同元素.当时没做出来,我现在给出C#版本,算是弥补一点遗憾. using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace SortAB { class Program { static void Main(string[] args) { int[] A = Random

用javascript编写(找出两个数组中的差异元素并存入一个新的数组,假设每个数组内部都没有重复元素)。

onload = function(){                var a = [2,5,7,9];                var b = [3,4,5,7,8];                                //先准备一个函数,用来检查一个数组中是否包含某个数据,是就返回true,不包含就返回false                //再循环任意一个数组(这里就选a),把该数组中的每一个元素都去b数组中检查,没有就属于差异元素,就存入新的数组        

【算法】求两个数组中相同的元素及其个数(C语言、Java实现)

简介: 方法1:(时间复杂度O(n^2)) public void getNum(String arr1, String arr2) { for (int i = 0; i < arr1.length; i++) { for () { } } }

目前自己能写出的效率最高的取两个数组中的相同元素

NSArray * arr1 = @[@a,@b,@c]; NSArray * arr2 = @[@c,@d,@e,@f]; NSPredicate * filterPredicate = [NSPredicate predicateWithFormat:@" (SELF IN %@)",arr1]; NSArray * filter = [arr2 filteredArrayUsingPredicate:filterPredicate]; NSLog(@"%@",

软件工程结对开发——返回一个整数数组中最大子数组的和(JAVA)

题目:返回一个整数数组中最大子数组的和. 要求: 输入一个整型数组,数组里有正数也有负数: 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和: 求所有子数组的和的最大值.要求时间复杂度为O(n): 一.设计思想 1.首先随机产生一个数组,数组长度可自行输入,该数组里有正数也有负数. 2.从数组中第一个元素a[0]开始,依次计算a[0].a[0]+a[1].a[0]+a[1]+...+a[i]的值,即从a[0]开始的每个子数组的和,取出最大值. 3.再从数组第二个元素a[1]开始,依

结对开发——返回一个整数数组中最大子数组的和

一.题目要求 1.输入一个整型数组,数组里有正数也有负数. 2.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 3.求所有子数组的和的最大值.要求时间复杂度为O(n). 二.设计思想 1.首先随机产生一个数组,该数组里有正数也有负数. 2.从数组中第一个元素a[0]开始,依次计算a[0].a[0]+a[1].a[0]+a[1]+...+a[i]的值,即从a[0]开始的每个子数组的和,取出最大值. 3.再从数组第二个元素a[1]开始,依次往后计算每个子数组的和,取出最大值.依次循

提取两个数组中不同元素

假设数组: string[] listA ={"1","2","3","4","5"}; string[] listB = {"1","4","5"}; 那么,提取两个数组中不同的元素放到另一个数组中:代码如下: string[] result = listA.Except(listB).Union(listB.Except(listB)).ToA

排序 2:选择排序 - 不断选出剩余数组中最小的元素

选择排序过程:首先,选出数组中最小的元素,将它与数组中第一个元素交换,然后找出次小的元素,并将它与数组中第二个元素交换...直至整个数组排序完成.即通过不断选出剩余数组中最小的元素实现. 选择排序时间复杂度:O(N^2) 实现程序: void Selection_sort(Item a[], int l, int r) { for(int i = l; i < r; i++) //最后一个无需交换 { int min = i; for(int j = i + 1; j <= r; j++) {