陣列與字串一(概念和基礎)

2022-03-07 09:17:48 字數 1041 閱讀 5110

常見的結構有:陣列、堆疊、佇列、鍊錶、樹、圖、堆、雜湊表等等。 

陣列,是常見的資料結構之一,用於儲存一系列相同型別的資料。從底層實現上來看,「開闢乙個陣列」相當於系統為你提供了一段連續記憶體區間用於儲存資料。陣列名就是乙個指標,在c++中,主要有兩種建立方法:

陣列//在棧上定義長度為arraysize的整型陣列

int array[arraysize];

//在堆上定義長度為arraysize的整型陣列

int *array = new int[arraysize];

delete array;//使用完後要刪除

//二維陣列儲存乙個矩陣

//在棧上建立

int array[m][n];

//傳遞給子函式

void func(int arr[m][n])

//在堆上建立

int **array = new int *[m];

for (i = 0; i < m; i++)

array[i] = new int[n];

//傳遞給子函式

void func(int **arr, int m, int n)

//使用完後需要釋放記憶體

for (int i = 0; i < m; i++)

delete array[i];

delete array;

陣列可以通過下標隨機訪問元素,所以在修改、讀取某個元素的時候效率很高,複雜度為o(1),在插入和刪除某個元素的時候,需要移動前後的元素,所以平均複雜度為o(n)。

雜湊表、字串

雜湊表,主要用於基於」鍵「的查詢,儲存的基本元素是鍵-值對。在邏輯上,陣列可以作為雜湊表的乙個特例:鍵是乙個非負整數。一般預設,鍵相同,基本儲存元素相同。

雜湊表的本質是當乙個使用者提供乙個鍵,根據雜湊表自身定義的雜湊函式(hash function),對映出乙個下標,根據這個下標決定需要把當前的元素儲存在什麼位置。

在c語言中,字串指的是乙個以」\0」結尾的char陣列。在c++中,string是乙個類,並且可以通過呼叫類函式實現判斷字串長度等操作。

字串和字串陣列

字串陣列 include int main int argc,const char ar printf name1 s n name1 name1 zhangsan 部分初始化中,沒有被初始化的元素預設是0,0 對應的ascii值是 0 char name2 9 printf name2 s n n...

字串與陣列和指標

我們可以通過下面方式來初始化乙個字串 char arr this is array char pointer this is pointer 1.陣列符號方式for i 0 i 6 i putchar arr i putchar n for i 0 i 6 i putchar pointer i 輸...

C 基礎之字元陣列和字串

無意中發現了乙個很有意思的技術型別小品文系列,通過大牛指導菜鳥的方式,講解講c 知識,有的很基礎卻是開發中容易忽略的地方。elminster的專欄 solmyr 的小品文系列之一 字串放在 至此,給出鏈結,原文就不貼了,總結並擴充套件一下方便以後回顧。字元陣列 char 是元素為字元變數的陣列,字串...