国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

定制網(wǎng)站建設(shè)公司費(fèi)用搜狗收錄查詢

定制網(wǎng)站建設(shè)公司費(fèi)用,搜狗收錄查詢,湖南土特產(chǎn)銷售網(wǎng)網(wǎng)站建設(shè)制作,做網(wǎng)站基本教程目錄 一、一維數(shù)組1、定義和初始化2、訪問和修改3、元素逆置和冒泡排序 二、二維數(shù)組(用指針進(jìn)行訪問與修改)1、定義和初始化2、訪問與修改 三、更高維度的數(shù)組1、三維數(shù)組2、高維數(shù)組 一、一維數(shù)組 1、定義和初始化 在 C 中,可以使用下面的…

目錄

  • 一、一維數(shù)組
    • 1、定義和初始化
    • 2、訪問和修改
    • 3、元素逆置和冒泡排序
  • 二、二維數(shù)組(用指針進(jìn)行訪問與修改)
    • 1、定義和初始化
    • 2、訪問與修改
  • 三、更高維度的數(shù)組
    • 1、三維數(shù)組
    • 2、高維數(shù)組

一、一維數(shù)組

1、定義和初始化

在 C++ 中,可以使用下面的語(yǔ)法定義一個(gè)一維數(shù)組:

type arrayName [ arraySize ];

其中,type 是數(shù)組元素的類型,arrayName 是數(shù)組的名稱,arraySize 是數(shù)組中元素的數(shù)量。

例如,下面的代碼定義了一個(gè)包含 5 個(gè)整數(shù)的一維數(shù)組:

int numbers[5];

在定義數(shù)組時(shí),可以同時(shí)初始化數(shù)組中的元素。例如:

int numbers[5] = {1, 2, 3, 4, 5};

也可以只初始化部分元素,未初始化的元素將被自動(dòng)設(shè)置為默認(rèn)值(通常為 0)。例如:

int numbers[5] = {1, 2}; // 等價(jià)于 {1, 2, 0, 0, 0}

如果在定義數(shù)組時(shí)不指定數(shù)組大小,則編譯器會(huì)根據(jù)初始化元素的數(shù)量自動(dòng)確定數(shù)組大小。例如:

int numbers[] = {1, 2, 3, 4, 5}; // 等價(jià)于 int numbers[5] = {1, 2, 3, 4, 5};

2、訪問和修改

在定義了一個(gè)一維數(shù)組之后,可以通過下標(biāo)運(yùn)算符 [] 訪問或修改數(shù)組中的元素。下標(biāo)從 0 開始,最大值為 arraySize - 1。例如:

int numbers[5] = {1, 2, 3, 4, 5};
std::cout << numbers[0] << std::endl; // 輸出第一個(gè)元素
numbers[1] = 42; // 修改第二個(gè)元素

注意,在訪問或修改數(shù)組中的元素時(shí),必須確保下標(biāo)在合法范圍內(nèi)。否則會(huì)發(fā)生未定義行為。

除了使用下標(biāo)運(yùn)算符訪問或修改數(shù)組中的元素外,還可以使用指針進(jìn)行操作。因?yàn)樵?C++ 中,數(shù)組名可以理解為指向數(shù)組第一個(gè)元素的指針,直接輸出數(shù)組名是數(shù)組的首元素地址(16進(jìn)制)。例如:

int numbers[5] = {1, 2, 3, 4, 5};
std::cout << numbers << std::endl; // 輸出數(shù)組首地址
std::cout << *numbers << std::endl; // 輸出第一個(gè)元素
*(numbers + 1) = 42; // 修改第二個(gè)元素

此外,在 C++ 中還可以使用范圍 for 循環(huán)遍歷一維數(shù)組中的所有元素。例如:

int numbers[5] = {1, 2, 3, 4, 5};
for (int n : numbers) {std::cout << n << std::endl; // 輸出每個(gè)元素
}

3、元素逆置和冒泡排序

①元素逆置
用雙指針?biāo)惴▽⑵渲械脑啬嬷谩?/p>

#include <iostream>int main() {int numbers[] = {3,2,1,4,5};int size = sizeof(numbers) / sizeof(int);//將整個(gè)數(shù)組占用內(nèi)存大小除單個(gè)數(shù)組內(nèi)存大小得到數(shù)組長(zhǎng)度// 雙指針?biāo)惴?/span>int* left = numbers;int* right = numbers + size - 1;while (left < right) {int temp = *left;//暫存值左值*left = *right;//將較大值賦給左邊元素*right = temp;//較小值賦給右邊元素left++;right--;}// 輸出結(jié)果for (int n : numbers) {std::cout << n << " ";}std::cout << std::endl;return 0;
}

②冒泡排序

#include <iostream>int main() {int numbers[] = {4, 5, 2, 31};int size = sizeof(numbers) / sizeof(int);// 冒泡排序for (int i = 0; i < size - 1; i++) {for (int j = 0; j < size - i - 1; j++) {if (numbers[j] > numbers[j + 1]) {int temp = numbers[j];numbers[j] = numbers[j + 1];numbers[j + 1] = temp;}}}// 輸出結(jié)果for (int n : numbers) {std::cout << n << " ";}std::cout << std::endl;return 0;
}

二、二維數(shù)組(用指針進(jìn)行訪問與修改)

1、定義和初始化

二維數(shù)組是由多個(gè)一維數(shù)組組成的數(shù)組。在 C++ 中,可以使用下面的語(yǔ)法定義一個(gè)二維數(shù)組:

type arrayName [ xSize ][ ySize ];

其中,type 是數(shù)組元素的類型,arrayName 是數(shù)組的名稱,xSize 和 ySize 分別表示二維數(shù)組中第一維和第二維的大小。

例如,下面的代碼定義了一個(gè)包含兩行三列整數(shù)的二維數(shù)組:

int matrix[2][3];

與一維數(shù)組類似,在定義二維數(shù)組時(shí)也可以同時(shí)初始化其中的元素。例如:

int matrix[2][3] = {{1, 2, 3},{4, 5, 6}
};

也可以只初始化部分元素,未初始化的元素將被自動(dòng)設(shè)置為默認(rèn)值(通常為 0)。例如:

int matrix[2][3] = {{1},{4}
}; // 等價(jià)于 {{1, 0, 0}, {4, 0, 0}}

如果在定義二維數(shù)組時(shí)不指定第一維和第二維的大小,則編譯器會(huì)根據(jù)初始化元素的數(shù)量自動(dòng)確定它們。例如:

int matrix[][3] = {{1, 2, 3},{4, 5, 6}
}; // 等價(jià)于 int matrix[2][3] = {{1, 2, 3}, {4, 5, 6}};

2、訪問與修改

在定義了一個(gè)二維數(shù)組之后,可以通過兩個(gè)下標(biāo)運(yùn)算符 [][] 訪問或修改其中的元素。第一個(gè)下標(biāo)表示行號(hào)(從上到下),第二個(gè)下標(biāo)表示列號(hào)(從左到右)。例如:

int matrix[2][3] = {{1, 2, 3},{4, 5, 6}
};
std::cout << matrix[0][1] << std::endl; // 輸出第一行第二列的元素
matrix[1][2] = 42; // 修改第二行第三列的元素

注意,在訪問或修改二維數(shù)組中的元素時(shí),必須確保下標(biāo)在合法范圍內(nèi)。否則會(huì)發(fā)生未定義行為。

除了使用下標(biāo)運(yùn)算符訪問或修改二維數(shù)組中的元素外,還可以使用指針進(jìn)行操作。因?yàn)樵?C++ 中,二維數(shù)組名實(shí)際上是一個(gè)指向一維數(shù)組的指針,進(jìn)行解引用后得到的是一個(gè)一維數(shù)組首元素的指針,再次進(jìn)行解引用得到的才是首元素的值。例如:

int matrix[2][3] = {{1, 2, 3},{4, 5, 6}
};
std::cout << **matrix << std::endl; // 輸出第一行第一列的元素
*(*(matrix + 1) + 2) = 42; // 修改第二行第三列的元素

此外,在 C++ 中還可以使用嵌套循環(huán)遍歷二維數(shù)組中的所有元素。例如:

int matrix[2][3] = {{1, 2, 3},{4, 5, 6}
};
for (auto& row : matrix) {for (int n : row) {std::cout << n << std::endl; // 輸出每個(gè)元素}
}

三、更高維度的數(shù)組

1、三維數(shù)組

三維數(shù)組是由多個(gè)二維數(shù)組組成的數(shù)組。下面的代碼定義了一個(gè)包含兩個(gè)二維數(shù)組的三維數(shù)組,每個(gè)二維數(shù)組都包含兩行三列整數(shù):

int matrix[2][2][3] = {{{1, 2, 3},{4, 5, 6}},{{7, 8, 9},{10, 11, 12}}
};
std::cout << matrix[0][1][2] << std::endl; // 輸出第一個(gè)二維數(shù)組中第二行第三列的元素
matrix[1][0][1] = 42; // 修改第二個(gè)二維數(shù)組中第一行第二列的元素//遍歷三維數(shù)組
for (auto& twoDArray : matrix) {for (auto& row : twoDArray) {for (int n : row) {std::cout << n << " ";}}
}

三維數(shù)組名實(shí)際上是一個(gè)指向二維數(shù)組的指針。對(duì)它進(jìn)行一次解引用操作時(shí),將會(huì)得到一個(gè)二維數(shù)組名,它也是一個(gè)指針,指向一維數(shù)組。再次對(duì)它進(jìn)行解引用操作時(shí),會(huì)得到一個(gè)一維數(shù)組名,它也是一個(gè)指針,指向一維數(shù)組首元素。最后對(duì)它進(jìn)行解引用操作,將會(huì)得到一維數(shù)組首元素的值,因此這里需要三個(gè)解引用運(yùn)算符。

//用指針來訪問和修改三維數(shù)組
std::cout << *(*(*(matrix + 1) + 0) + 1) << std::endl; // 輸出第二個(gè)二維數(shù)組中第一行第二列的元素
*(*(*(matrix + 1) + 0) + 1) = 42; // 修改第二個(gè)二維數(shù)組中第一行第二列的元素

在上面的代碼中,matrix 是一個(gè)指向二維數(shù)組 {{1, 2, 3}, {4, 5, 6}} 的指針。對(duì)它進(jìn)行一次解引用操作并加上偏移量 1 后,將會(huì)得到另一個(gè)二維數(shù)組名 {{7, 8, 9}, {10, 11, 12}},再次對(duì)它進(jìn)行解引用操作并加上偏移量 0 ,得到一個(gè)一維數(shù)組名 {7, 8, 9}。最后對(duì)它進(jìn)行解引用操作并加上偏移量 1 后,得到一維數(shù)組中第二個(gè)元素的值 8

2、高維數(shù)組

四維數(shù)組可以看成由多個(gè)三維數(shù)組所組成的數(shù)組,依此類推,高維數(shù)組可以看成由多個(gè)低一維數(shù)組所組成的數(shù)組。

http://aloenet.com.cn/news/30541.html

相關(guān)文章:

  • wordpress 目錄遍歷電腦優(yōu)化設(shè)置
  • 10_10_微信里網(wǎng)站怎么做的seo搜索如何優(yōu)化
  • 漂亮的手機(jī)網(wǎng)站模板北京優(yōu)化seo排名優(yōu)化
  • 建網(wǎng)站的要求寧波優(yōu)化關(guān)鍵詞首頁(yè)排名
  • 做微商賣產(chǎn)品在哪個(gè)網(wǎng)站銷量能好點(diǎn)公司seo營(yíng)銷
  • 做淘寶需要知道什么網(wǎng)站嗎seo技術(shù)網(wǎng)網(wǎng)
  • 萬(wàn)網(wǎng)官方網(wǎng)站排名優(yōu)化價(jià)格
  • 大連網(wǎng)絡(luò)宣傳網(wǎng)站寧波seo關(guān)鍵詞如何優(yōu)化
  • 本機(jī)做web打開網(wǎng)站無(wú)法顯示網(wǎng)站seo怎么推排名
  • 做外貿(mào)一般去什么網(wǎng)站找客戶上海推廣服務(wù)
  • 建站網(wǎng)站排行榜北京seo排名收費(fèi)
  • 網(wǎng)站營(yíng)銷網(wǎng)畫質(zhì)優(yōu)化app下載
  • 網(wǎng)站修改關(guān)鍵詞雙橋seo排名優(yōu)化培訓(xùn)
  • 江門網(wǎng)站建設(shè)企業(yè)商丘seo排名
  • 網(wǎng)站基本維護(hù)seo技術(shù) 快速網(wǎng)站排名
  • 投資做網(wǎng)站廣告媒體資源平臺(tái)
  • 國(guó)內(nèi)攝影作品網(wǎng)站免費(fèi)建網(wǎng)站的步驟
  • 東莞網(wǎng)站優(yōu)化中易品牌推廣渠道有哪些
  • 做的網(wǎng)站怎么讓百度收索時(shí)搜seo實(shí)戰(zhàn)指導(dǎo)
  • 嵐山網(wǎng)站建設(shè)報(bào)價(jià)山東網(wǎng)絡(luò)推廣網(wǎng)站
  • iis2008如何做網(wǎng)站百度知道合伙人
  • 徐州萬(wàn)網(wǎng)網(wǎng)站建設(shè)seo優(yōu)化上首頁(yè)
  • 利用云服務(wù)器做網(wǎng)站谷歌推廣哪家好
  • 企業(yè)咨詢管理有限公司南昌seo全網(wǎng)營(yíng)銷
  • 免費(fèi)網(wǎng)站后臺(tái)管理系統(tǒng)看廣告收益最高的軟件
  • 濟(jì)南做外貿(mào)網(wǎng)站新冠咳嗽怎么辦
  • 網(wǎng)站怎樣做友情鏈接佛山本地網(wǎng)站建設(shè)
  • 網(wǎng)站開發(fā)看書湖北網(wǎng)站seo
  • 做動(dòng)漫網(wǎng)站侵權(quán)嗎揚(yáng)州網(wǎng)絡(luò)優(yōu)化推廣
  • 怎么通過微博做網(wǎng)站外鏈百度seo外包