数组之间的比较,该怎么处理
数组之间的比较
考虑有a(i),a1(j),a2(k),三个数组,其中j+k=i,j=k
现已实现随机把a()中的数付给a1(),怎样通过对比或者其他方法,使a()中剩下的元素赋到a2()中
例
for i= 1 to 10
a1(i)=a(10*rnd+1) 'rnd的上下限那个记不太清了...错了请无视,判断是否重复的部分省略
next
------解决方案--------------------
遍历a()数组每一个元素
再判断是否已经出现在a1()中就行啦
两个循环就行;
老感觉这方法太笨,不过也没想出什么比这好的方法
或者你考虑将数组元素定义成一个Type类型,Type结构里面放一个Flag变量,在将a()里面的元素划到a1()的时候,将已划过去的元素的Flag赋为True,以后再从a()中抽元素赋给a2的时候就只遍历一遍a()数组就行,只需要判断该元素的Flag值就能区分是否已划分到a1中;
------解决方案--------------------
以a(0)的J后面的位置的数赋给a(K)的位置嘛,看看C语言中的数组处理,就好解决了
考虑有a(i),a1(j),a2(k),三个数组,其中j+k=i,j=k
现已实现随机把a()中的数付给a1(),怎样通过对比或者其他方法,使a()中剩下的元素赋到a2()中
例
for i= 1 to 10
a1(i)=a(10*rnd+1) 'rnd的上下限那个记不太清了...错了请无视,判断是否重复的部分省略
next
------解决方案--------------------
遍历a()数组每一个元素
再判断是否已经出现在a1()中就行啦
两个循环就行;
老感觉这方法太笨,不过也没想出什么比这好的方法
或者你考虑将数组元素定义成一个Type类型,Type结构里面放一个Flag变量,在将a()里面的元素划到a1()的时候,将已划过去的元素的Flag赋为True,以后再从a()中抽元素赋给a2的时候就只遍历一遍a()数组就行,只需要判断该元素的Flag值就能区分是否已划分到a1中;
------解决方案--------------------
以a(0)的J后面的位置的数赋给a(K)的位置嘛,看看C语言中的数组处理,就好解决了