求解一个矩阵(只有一列)或者一维数组怎么找到相同的元素

如 A={1,2,3,1,3} 怎么找到相同的元素放到新的数组或者矩阵,B={1,3}
或者有大神能直接找到一个m*n矩阵里边的相同元素放到新矩阵?
在matlab中

第1个回答  2014-08-07

元素大小大概多大?

以下为c++代码,元素大小<2^31

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <cstring>
#include <set>

using namespace std;

set<int>S;
int map[600],n,count[600],top=0;

int main()
{
    //读入数组Map和数组中元素个数n
    for(int i = 1; i <= n; i++)
        if(S.count(map[i]))    count[++top]=map[i];
        else S.insert(map[i]);
}

第2个回答  2014-08-07
void f(int a[][],int b[][],int m,int n)
{
   int b_num=0; 
   for(int i=0;i<m*n-1;i++)
   {
        bool find= false;
        for(int j=0;j<b_num;j++)
            if(a[i/n][i%n]==b[j/n][j%n])
            {
                find = true;
                break;
             }
        if(find)
            continue;
        for(int k=i+1;k<m*n;k++)
            if(a[i/n][i%n]==b[k/n][k%n])
            {
                b[b_num/n][b_num%n]=a[i/n][i%n];
                b_num++;
                break;
            }
    }
}

本回答被网友采纳
相似回答