博客日历
2025年01月 | ||||||
一 | 二 | 三 | 四 | 五 | 六 | 七 |
30 | 31 | 1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 | 1 | 2 |
存档
2024年03月 04月 05月 2021年
01月 02月 11月 12月 2020年
02月 03月 04月 05月 06月 07月
09月 2018年
09月 2017年
01月 02月 07月 2016年
01月 04月 07月 08月 11月 12月
2015年
01月 02月 03月 05月 09月 10月
11月 2014年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2013年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2012年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2011年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2010年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2009年
03月 04月 05月 06月 07月 08月
09月 10月 11月 12月
矩阵左右旋转90度的最一般算法
//注:矩阵存储在连续的一维数组中 template<class T> void RotateRight(int _rows,int _cols,T* _pdata,T* _new_pdata) { int _new_rows=_cols; int _new_cols=_rows; //源矩阵的最左一列,从底端开始向上读取,存入新矩阵的第一行中 int _new_i=0; for (int j=0;j<_cols;j++,_new_i++) { int _new_j=0; for (int i=_rows-1;i>=0;i--,_new_j++) { int _new_pos=_new_i*_new_cols+_new_j; int pos=i*_cols+j; _new_pdata[_new_pos]=_pdata[pos]; } } } template<class T> void RotateLeft(int _rows,int _cols,T* _pdata,T* _new_pdata) { int _new_rows=_cols; int _new_cols=_rows; //源矩阵的最右一列,从顶端开始向下读取,存入新矩阵的第一行中 int _new_i=0; for (int j=_cols-1;j>=0;j--,_new_i++) { int _new_j=0; for (int i=0;i<_rows;i++,_new_j++) { int _new_pos=_new_i*_new_cols+_new_j; int pos=i*_cols+j; _new_pdata[_new_pos]=_pdata[pos]; } } }
上一篇: ASP中使用进程外COM组件的配置
下一篇: DirectShow.3 GetPinByName(通过名字获取Filter的IPin接口指针)
分类:Win32/C++ 查看次数:9930 发布时间:2011/1/18 21:17:39