寻找制定元素的指针

<span style="font-size:18px;">#include<stdio.h>
int search(int *apt,int n,int key)/*返回在数组中和key值相等值的下标*/
{
	int *p;
	for(p=apt;p<apt+n;p++)
	{
		if(*p==key)
			return p-apt;
	}
	return NULL;/*不可以在if下面直接else,因为得循环找出和key值相同的值,遍历完了发现没有才返回null*/
}
int *find(int *apt,int n,int key)/*返回在数组中和key值相等值的地址*/
{
	int *p;
	for(p=apt;p<apt+n;p++)
	{
		if(*p==key)
			return p;
	}
	return NULL;
}
void main()
{
	int a[]={2,3,7,0,5,24,67,45,90,6,1,8,88};
	int key,i;
	for(i=0;i<sizeof(a)/sizeof(int);i++)
		printf("%4d",a[i]);
	printf("\n");
	printf("please input the key number!\n");
	scanf("%d",&key);
	printf("The address of a[0] is: %d.\n",a);
	printf("The label number of the key number in the array is %d\n",search(a,sizeof(a)/sizeof(int),key));
	printf("The adress of the key number %d\n",find(a,sizeof(a)/sizeof(int),key));
}</span>

寻找制定元素的指针

时间: 2024-10-04 23:52:40

寻找制定元素的指针的相关文章

寻找相同元素的指针

此实例的要求是在两个已经摆好顺序的数组寻找第一个相同的元素在第一个数组中的指针. 这个实例的思想比较好,如果我来做的话,就是先从第一个数组的第一个元素开始,每次取出一个元素,与第二个数组的每一个元素进行比较,当元素值相等的时候,返回元素的指针. 但是在此实例中,使用了另外一种思想,在我看来降低了程序的时间复杂度.其思想为:由于两个数组都已经排好顺序,则分别从两个数组的第一个元素开始,比较大小,将较小的元素的数组的位置指向下一个,知道找到相同的元素为止. 下面我程序的实现部分: #include

寻找指定元素

在已知数表中找出第一个与指定值相等的元素的下标和指针.这个实例还是比价简单的. 我的思路是,首先创建一个struct结构,该结构中有两个成员变量,一个是数组元素的下标,一个是数组元素的指针值,当程序进程查找的时候,将找到的结果保存到该结构上.下面是我的程序的实现部分: #include <stdio.h> #define SIZE 100 /** * @brief The element struct * 元素的结构,包括元素的下标和元素的指针 */ struct element{ int s

jQuery序列化表单时将制定元素排除在外

jQuery序列化表单时将制定元素排除在外:大家知道使用serialize()函数可以序列化一个表单,但是可能在实际应用中,需要将制定的表单元素排除在外,下面就通过实例代码演示一下如何实现此效果,代码实例如下: $("form[name='theform']").not($("input[type='hidden']")).not($("input[class='txt']")).serialize(); 上面代码只是一个演示,实际应用中要根据自

鼠标移到元素上指针变为不可用状态

鼠标移到元素上指针变为不可用状态:鼠标的指针状态与很多种,分别代表着不同的含义,下面介绍一下如何实现当鼠标悬浮于一个元素的时候,鼠标指针会变味不可用状态,代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" />

编程题:比较指向数组元素的指针变量和指向数组的指针变量的不同。

#include<stdio.h> void main() {int a[2][3]={1,2,3,4,5,6}; int *p1,(*p2)[3]; /*p1指向数组元素,p2指向包含3个元素的一维数组*/ p1=a[0];p2=a; /*用指向数组元素的指针变量输出二维数组元素*/ for(;p1<a[0]+6;p1++) printf("%4d",*p1); printf("\n"); /*用指向以为数组的指针变量输出二维数组元素*/ for

编程题:指向二维数组元素的指针变量。功能:已知二维数组a[2][3],输入输出全部元素。

#include<stdio.h> void main() { int a[2][3],i,j; int *p; /*用坐标法输入二维数组元素*/ for(i=0;i<2;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); /*用指针法输出二维数组元素*/ p=a[0];         /*等价于p&a[0][0];*/ for(;p<a[0]+6;p++)   printf("%4d&quo

寻找多数元素/主元素问题

问题描述: 令a[1..n]是一个整数序列,a中的整数x如果在a中出现的次数多于n/2,那么x称为多数元素. 设计一个性能比较优异的算法求解这个问题,找出一个整数序列中的多数元素.当然多数元素要么不存在,要么就只有一个 算法描述: 解决这个问题有好多种方法,蛮力方法就是把序列中的每个元素和其他每个元素比较,并且对每个元素计数,如果某个元素的计数大于n/2,就可以判断它是多数元素,否则无多数元素.但是这样的比较次数是n(n-1)/2=O(n^2),复杂度高.比较有效的算法是先对这些元素排序,并且计

[C++程序设计]指向数组元素的指针

如果先使p指向数组a的首元素(即p=a),则: (1) p++(或p+=1).使p指向下一元素,即a[1]. 如果用*p,得到下一个元素a[1]的值. (2) *p++.由于++和*同优先级,结合方向为自右而 左,因此它等价于*(p++).作用是: 先得到p指向 的变量的值(即*p),然后再使p的值加1.例6.5(3)程序中最后一个for语句: for(p=a;p<a+10;p++) cout<<*p;可以改写为for(p=a;p<a+10;) cout<<*p++;

寻找自适应元素(15)-迭代计算

寻找自适应元素(15)-迭代计算 设计要点:excle.界面.自动调整 秀秀:其实,还有一个更厉害的呢 阿金:更厉害的? 秀秀:嗯哪 阿金:哪个? 秀秀:就是设置"自动重算"旁边的"迭代计算"! 阿金:噢. 秀秀:透视表做不到吧? 阿金:这--