www.pudn.com > ica_C.rar > permutation.c
#include#include "permutation.h" void sorting(int dim, vector data, int index[]) { int i,j,k,xx; SCALAR x; for(i=0;i =0){ j=-1; for(i=1; i<=k; i++){ if(data[i-1] > data[i]){ j=i-1; x=data[j]; data[j]=data[i]; data[i]=x; xx=index[j]; index[j]=index[i]; index[i]=xx; } } k=j; } } void permutation(int N, int pos, int k, char *ok, int *p, matrix a, int *p_max, SCALAR *max) { int i; SCALAR tmp_max; p[pos] = k; if (pos != N - 1){ ok[k] = 0; for (i = 1; i <= N; i++) if (ok[i]) permutation(N,pos + 1, i, ok, p, a, p_max, max); ok[k] = 1; } else{ for(tmp_max=0,i=0;i *max){ *max=tmp_max; for(tmp_max=0,i=0;i