如何将两个数组的元素建立起对应关系
两个数组a和b,当我在数组a中找到一个元素时,要在b中能够找到与a相对应的元素。好比a[]={1,2,3,4,5,6,7,8,9,10}b[]=[10,9,8,7,6,5...
两个数组a和b,当我在数组a中找到一个元素时,要在b中能够找到与a相对应的元素。
好比a[]={1,2,3,4,5,6,7,8,9,10}
b[]=[10,9,8,7,6,5,4,3,2,1,}
这样他们就有对应的关系,a[5]与b[5]对应
然后打乱a的顺序后,要还能找到对应的元素
注意,a元素中可能有相同的元素值;所以用查找的方法似乎有点不行。
大家帮忙,解决了我的问题必有重赏
言出必行 展开
好比a[]={1,2,3,4,5,6,7,8,9,10}
b[]=[10,9,8,7,6,5,4,3,2,1,}
这样他们就有对应的关系,a[5]与b[5]对应
然后打乱a的顺序后,要还能找到对应的元素
注意,a元素中可能有相同的元素值;所以用查找的方法似乎有点不行。
大家帮忙,解决了我的问题必有重赏
言出必行 展开
3个回答
展开全部
(1) 第一种方法:就是打乱a的顺序的时候 ,也打乱b的顺序,使用相同的方法,也就是a和b的一起变化
这样两者还是以下标对应的。
(2) 使用结构体数组,将b修改为结构体数组,其成员有两个:value也就是b元素原来的值,index对应的a中数组元素的下标。
这样当我们打乱a数组的元素的时候,修改b中对应元素的index的值,以后找对应元素的时候,只要通过数组a的下标和数组b的index对应就可以了。
这两种方法,都是在b随着a的变化而变化的基础上的。
(3)第三种方法,和第二种差不多,不过不必改动b的数组,另外设置一个数组c用来存放b中元素对应的a的元素的下标,也就是将2中的index用一个数组来存储,而不是放在b中,这样 b和c的下标一一对应 c的元素的值和a的下标对应,过渡就可以了。
这样两者还是以下标对应的。
(2) 使用结构体数组,将b修改为结构体数组,其成员有两个:value也就是b元素原来的值,index对应的a中数组元素的下标。
这样当我们打乱a数组的元素的时候,修改b中对应元素的index的值,以后找对应元素的时候,只要通过数组a的下标和数组b的index对应就可以了。
这两种方法,都是在b随着a的变化而变化的基础上的。
(3)第三种方法,和第二种差不多,不过不必改动b的数组,另外设置一个数组c用来存放b中元素对应的a的元素的下标,也就是将2中的index用一个数组来存储,而不是放在b中,这样 b和c的下标一一对应 c的元素的值和a的下标对应,过渡就可以了。
展开全部
employee *delcre(employee * head,employee * head1){
employee *p,*s,*q;
p=head;
while(head->age>55&&head->sex=='m'||head->age>60&&head->sex=='w'){
if(head1==NULL){head1=head;q=head;}
else {q->next=p;q=p;}
head=head->next;
p=head;
cout<<"已删除"<<endl;
}
s=head;
p=head->next;
while(p!=NULL){
employee *p,*s,*q;
p=head;
while(head->age>55&&head->sex=='m'||head->age>60&&head->sex=='w'){
if(head1==NULL){head1=head;q=head;}
else {q->next=p;q=p;}
head=head->next;
p=head;
cout<<"已删除"<<endl;
}
s=head;
p=head->next;
while(p!=NULL){
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先想好你想要的对应关系是什么样子的对应,数组b会不会变动?如果数组b不变而且a数组中的值限定在你设定的值内的话,就直接根据数组a元素的值去查找数组b就可以了,比如a[i] = 8;那么你要的值就是b[8-1],或者写成b[a[i]-1].
如果是这样“对应”的话,a中的重复项将对应到b中的同一个项。没问题。
如果数组b会变化的话,请描述清楚对应关系,按位置还是按值获知按什么比例之类的。首先要描述的清除。
下面是你的描述:“这样他们就有对应的关系,a[5]与b[5]对应”
是不是可以理解为放在数组a的5号元素与放在数组b的5号元素对应?或者你想描述的是按照对应的设定,如果在a的任何位置出现了设定时a[5]的值,也就是数字6的话,那么对应的b数组应该还是b[5] ,也就是5啊(上面的方法就是这样做的)
如果是这样“对应”的话,a中的重复项将对应到b中的同一个项。没问题。
如果数组b会变化的话,请描述清楚对应关系,按位置还是按值获知按什么比例之类的。首先要描述的清除。
下面是你的描述:“这样他们就有对应的关系,a[5]与b[5]对应”
是不是可以理解为放在数组a的5号元素与放在数组b的5号元素对应?或者你想描述的是按照对应的设定,如果在a的任何位置出现了设定时a[5]的值,也就是数字6的话,那么对应的b数组应该还是b[5] ,也就是5啊(上面的方法就是这样做的)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询