国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C++數(shù)據(jù)結(jié)構(gòu) 矩陣的轉(zhuǎn)置、鏡像及旋轉(zhuǎn)

這篇具有很好參考價(jià)值的文章主要介紹了C++數(shù)據(jù)結(jié)構(gòu) 矩陣的轉(zhuǎn)置、鏡像及旋轉(zhuǎn)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

C++數(shù)據(jù)結(jié)構(gòu) 矩陣的轉(zhuǎn)置、鏡像及旋轉(zhuǎn)

矩陣介紹

C++ 中的矩陣是一種二維數(shù)組,用于存儲(chǔ)數(shù)值數(shù)據(jù)。矩陣可以用于存儲(chǔ)圖像數(shù)據(jù),以及科學(xué)和工程計(jì)算中的數(shù)據(jù)。

常用于以下場(chǎng)景:

數(shù)學(xué)運(yùn)算:矩陣乘法、行列式計(jì)算、特征值分解等。

圖像處理:圖像縮放、旋轉(zhuǎn)、顏色變換等。

矩陣分析:因子分析、主成分分析、協(xié)方差分析等。

線性代數(shù):矩陣求逆、行列式計(jì)算、特征值分解等。

在 C++ 中,可以使用內(nèi)置數(shù)組和 STL 中的 vector 來實(shí)現(xiàn)矩陣的存儲(chǔ)和操作。在這里簡(jiǎn)單介紹一下矩陣的轉(zhuǎn)置、鏡像以及旋轉(zhuǎn)。

矩陣的轉(zhuǎn)置

使用兩個(gè)循環(huán),一個(gè)從上到下遍歷矩陣中的行,一個(gè)從左到右遍歷矩陣中的列(只需要遍歷到行數(shù)對(duì)應(yīng)的列),并交換對(duì)角線上的元素。

void Transposed(vector<vector<int>>& matrix)
{
	for(int i=0;i<matrix.size();++i){
        for(int j=0;j<i;++j){
         	int temp=matrix[i][j];
            matrix[i][j]=matrix[j][i];
            matrix[j][i]=temp;
        }
    }
}

效果:

//轉(zhuǎn)置前:
1 2 3 4
5 6 7 8
//轉(zhuǎn)置后:
1 5
2 6
3 7
4 8

矩陣的鏡像(左右鏡像)

使用兩個(gè)循環(huán),一個(gè)從上到下遍歷矩陣中的行,一個(gè)從左到右遍歷矩陣中的列(只需要遍歷半列)。在每個(gè)位置處,交換該位置與以中間行對(duì)稱位置上的數(shù)字。

void mirror(vector<vector<int>>& matrix)
{
	for(int i=0;i<matrix.size();++i){
        for(int j=0;j<matrix[i].size()/2;++j){
         	int temp=matrix[i][j];
            matrix[i][j]=matrix[i][matrix[i].size()/2-j-1];
            matrixmatrix[i][matrix[i].size()/2-j-1]=temp;
        }
    }
}

效果:

//鏡像前:
1 2 3 4
5 6 7 8
//鏡像后:
4 3 2 1
8 7 6 5

說明:上下鏡像即是,一個(gè)從左到右遍歷矩陣中的列,一個(gè)從上到下遍歷矩陣中的行(只需要遍歷半行)。在每個(gè)位置處,交換該位置與以中間列對(duì)稱位置上的數(shù)字

矩陣的旋轉(zhuǎn)(90度、180度、270度)

矩陣的旋轉(zhuǎn)可以通過轉(zhuǎn)置和鏡像來實(shí)現(xiàn):
情況一:順時(shí)針轉(zhuǎn) 90 度:先轉(zhuǎn)置左右鏡像
效果:

//旋轉(zhuǎn)前:
1 2 3 4
5 6 7 8
//轉(zhuǎn)置后:
1 5
2 6
3 7
4 8
//左右鏡像后:(達(dá)到順時(shí)針旋轉(zhuǎn)90度)
5 1
6 2
7 3
8 4

情況二:順時(shí)針轉(zhuǎn) 180 度:先上下鏡像,再**左右鏡像(**先左右再上下也可)
效果:

//旋轉(zhuǎn)前:
1 2 3 4
5 6 7 8
//上下鏡像后:
5 6 7 8
1 2 3 4
//左右鏡像后:(達(dá)到順時(shí)針旋轉(zhuǎn)180度)
8 7 6 5
4 3 2 1

情況三:順時(shí)針轉(zhuǎn) 270 度:先轉(zhuǎn)置上下鏡像
效果:文章來源地址http://www.zghlxwxcb.cn/news/detail-668697.html

//旋轉(zhuǎn)前:
1 2 3 4
5 6 7 8
//轉(zhuǎn)置后:
1 5
2 6
3 7
4 8
//左右鏡像后:(達(dá)到順時(shí)針旋轉(zhuǎn)270度)
4 8
3 7
2 6
1 5

到了這里,關(guān)于C++數(shù)據(jù)結(jié)構(gòu) 矩陣的轉(zhuǎn)置、鏡像及旋轉(zhuǎn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包