仿照STL實現矩陣matrix

2021-09-27 03:03:08 字數 2170 閱讀 2361

#include

//stl的類都是放在std命名空間中

namespace std

iterator

(const t* ptr)

iterator

(const iterator &x)

bool

operator==(

const iterator &x)

const

bool

operator!=(

const iterator &x)

const

bool

operator

>

(const iterator &x)

const

bool

operator

>=

(const iterator &x)

const

bool

operator

<

(const iterator &x)

const

bool

operator

<=

(const iterator &x)

const

iterator operator+(

const

int x)

iterator operator+=

(const

int x)

iterator operator-(

const

int x)

iterator operator-=

(const

int x)

iterator&

operator++(

) iterator&

operator--(

) iterator operator++(

int)

iterator operator--(

int)

t&operator*(

)const

t*operator

->()

const};

private

: t* data;

int x,y;

public

://x表示行,y表示列

matrix

(int x,

int y)

t*operator

(int x)

const

iterator begin()

iterator end()

matrix transform()

}return tm;

}int

getx()

intgety()

//這裡不查錯

matrix

operator*(

const matrix &x)}}

}//這裡不查錯

//這個行列式求值使用o(n!)的演算法,不採用較快的高斯消元法(o(n^3))

//具體就是降階先求余子式

t determinant()

} det +

= pre*

operator

(0)[i]

*cofactor.

determinant()

; pre=

-pre;

}return det;}}

;};using

namespace std;

intmain()

}for

(int i =

0;i <

3;i++

)printf

("\n");

}printf

("%d\n"

,m.determinant()

);matrix<

int>mt(

3,3)

; mt = m.

transform()

;for

(int i =

0;i <

3;i++

)printf

("\n");

}printf

("%d\n"

,mt.

determinant()

);return0;

}

matrix矩陣變換

在css3轉換以及htmal5畫布裡均有元素或圖形的轉換,除了基本的移動 縮放 轉動 拉伸還有乙個能包含上述所有轉換方法的matrix方法,在html5的canvas裡用的是transform,不管是css3還是html5,其轉換的本質是一樣的,不同的是css3裡預設座標原點在中間,html5預設座...

變形 矩陣 matrix

matrix 是乙個含六個值的 a,b,c,d,e,f 變換矩陣,用來指定乙個2d變換,相當於直接應用乙個 a b c d e f 變換矩陣。就是基於水平方向 x軸 和垂直方向 y軸 重新定位元素,此屬性值使用涉及到數學中的矩陣,我在這裡只是簡單的說一下css3中的transform有這麼乙個屬性值...

python 翻轉matrix矩陣

題目 給定 matrix 1,2,3 4,5,6 7,8,9 原地旋轉輸入矩陣,使其變為 7,4,1 8,5,2 9,6,3 思路 先沿對角線翻轉,然後沿著中間豎線翻轉。coding utf 8 def print matrix matrix for i in range len matrix ou...