avatar
一个简单的算法问题?# Programming - 葵花宝典
w*j
1
请问,如果一个 NxM 的 array, 想组成一组 1xM 的数列,其中的元素是从对应array
M 列中抽出,则一共有 N^M 组 的 1xM 数列,请问如果想穷具所有的 1xM 数列,应该
如何实现?
example: 2x2 array: [a11, a12; a21, a22]
4 possible rows: [a11, a12], [a11,a22], [a21,a12], [a21,a22]
How to realize in C or MATLAB?
先谢了
avatar
k*k
2
========================
int M=xxx;
int N=yyy;
void print_result(int* arr)
{
int i;

for (i=0;iprintf("%d ", arr[M]);
printf("\n");
}
void perm(int* arr, int k)
{
int i;
for (i=0;i{
arr[k]=data[i][k];
if (kperm(arr, k+1)
else
print_result(arr);
}
}
int main()
{
// initialize data array (N*M)
.....
int *arr;
arr=(int*)malloc(M*sizeof(int));
perm(arr, 0

【在 w****j 的大作中提到】
: 请问,如果一个 NxM 的 array, 想组成一组 1xM 的数列,其中的元素是从对应array
: M 列中抽出,则一共有 N^M 组 的 1xM 数列,请问如果想穷具所有的 1xM 数列,应该
: 如何实现?
: example: 2x2 array: [a11, a12; a21, a22]
: 4 possible rows: [a11, a12], [a11,a22], [a21,a12], [a21,a22]
: How to realize in C or MATLAB?
: 先谢了

avatar
w*j
3
hehe, thanks very much for your help
avatar
w*p
4
Please see my Java code for this problem:
public class Main {

static int M; static int N;
/* example here. You can replace to your own array */
/* works for arbitrary dimension array */
static int[][] myarray = {{1,2,3}, {4,5,6},{7,8,9},{10,11,12}};
public static void main(String[] args) {
// TODO code application logic here
N=myarray.length;
M=myarray[0].length;
int[] tt=new int[M];
Func(0,tt);
}

static void Func(int k,
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。