1. 陣列結構的特點
(1)陣列元素數目不變,一旦定義了乙個陣列結構,陣列元素個數就不會發生改變
(2)陣列元素具有相同的資料型別
(3)陣列元素的下標關係具有上下界的約束且下標有序
2. 陣列的兩個基本運算
(1)給定一組下標,訪問相應的資料元素
(2)給定一組下標,修改相應的陣列元素中某個資料項的值
3. 陣列的儲存
根據陣列結構的特點知道陣列一般不做插入和刪除操作,陣列的儲存適合採用順序儲存結構,二維陣列儲存結構可分為按行為主序和按列為主序兩種儲存方法。
4. 陣列儲存位址的計算
陣列型別
儲存位址的計算(a是陣列首位址,len是每個陣列元素所佔長度)
一維陣列
二維陣列:a[m-1][n-1],m行n列
按行儲存:a+(i*n+j)*len;按列儲存:a+(j*m+i)*len
5. 陣列儲存位址的計算示例
1)已知一維陣列a中每個元素占用2個位元組,求a[10]的儲存位址?
2)已知4行5列的二維陣列a中的每個元素占用2個位元組,求元素a[3][2]按行為主序儲存的儲存位址和按列為主序儲存的儲存位址?
答:按行儲存:a+(3*5+2)*2 = a+34
按列儲存:a+(2*4+3)*2 = a+22
棧實現表示式計算 資料結構
思路 所包含的運算子有 1 建立兩個棧,乙個用來儲存運算元,另乙個用來儲存運算子,開始時在運算子棧中先壓入 0 乙個表示式的結束符。2 然後從左至右依次讀取表示式中的各個符號 運算元或者運算子 3 如果讀到的是運算元直接存入運算元棧 4 如果讀到的是運算子,則作進一步判斷 若讀到的是 0 結束符,而...
計算陣列的子集
計算某個陣列的子集 在遞迴中不用 for迴圈和 visit 陣列,因為每個結果長度不一致,如果每個結果長度一致,比如求全排列,則需要用 for和 visit 但後者也可以用記錄層數的方式 public class main list li new arraylist fin nums,li,new ...
nyoj 128字首式計算 資料結構 佇列
時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 先說明一下什麼是中綴式 如2 3 4 5這種我們最常見的式子就是中綴式。而把中綴式按運算順序加上括號就是 2 3 4 5 然後把運算子寫到括號前面就是 2 3 4 5 把括號去掉就是 2 3 4 5 最後這個式子就是該表示式的字...