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