常見的結構有:陣列、堆疊、佇列、鍊錶、樹、圖、堆、雜湊表等等。
陣列,是常見的資料結構之一,用於儲存一系列相同型別的資料。從底層實現上來看,「開闢乙個陣列」相當於系統為你提供了一段連續記憶體區間用於儲存資料。陣列名就是乙個指標,在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 是元素為字元變數的陣列,字串...