trnspt.cpp

来自「C++数值算法原书代码」· C++ 代码 · 共 28 行

CPP
28
字号
#include "nr.h"

void NR::trnspt(Vec_IO_INT &iorder, Vec_I_INT &n)
{
	int m1,m2,m3,nn,j,jj;

	int ncity=iorder.size();
	Vec_INT jorder(ncity);
	m1=(n[1]-n[0]+ncity) % ncity;
	m2=(n[4]-n[3]+ncity) % ncity;
	m3=(n[2]-n[5]+ncity) % ncity;
	nn=0;
	for (j=0;j<=m1;j++) {
		jj=(j+n[0]) % ncity;
		jorder[nn++]=iorder[jj];
	}
	for (j=0;j<=m2;j++) {
		jj=(j+n[3]) % ncity;
		jorder[nn++]=iorder[jj];
	}
	for (j=0;j<=m3;j++) {
		jj=(j+n[5]) % ncity;
		jorder[nn++]=iorder[jj];
	}
	for (j=0;j<ncity;j++)
		iorder[j]=jorder[j];
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?