開發工具與關鍵技術: visual studio / c++
下面我就舉了個簡單的例子來進行對動態陣列的演示:
方法定義部分:
//結構體
struct dynamic_array
;dynamic_arrayinit_array();//初始化
void push_array(dynamic_array arr, int value); //插入
void print_array(dynamic_array* arr); //輸出
定義結構體dynamic_array,裡面包含的有int*型別的padd作為資料位址,int型別的size作用於計算陣列的元素個數,而int型別的capacity則是用來表示陣列容量,下面定義了3個方法,分別用於初始化,插入元素和輸出陣列,首先初始化就是初始化三個變數,插入則是負責把元素插入到陣列裡並帶了兩個引數,乙個是指標,另乙個是int型別的變數放傳過來需要插入的元素。輸出則只是帶了乙個指標的引數。
方法實現部分:
//初始化
dynamic_arrayinit_array()
初始化部分,為指標myarray分配乙個記憶體,用這個指標來進行對資料的初始化,並為陣列也分配了乙個記憶體,返回指標myarray。
void push_array(dynamic_array* arr, int value) //插入
arr->padd[arr->size] = value;
arr->size++;
}插入操作,首先拿陣列容量對比長度判斷陣列容量是否夠大,如果不夠就新增多乙個陣列其容量為原來陣列的兩倍,並通過拷貝函式把原來的資料拷到新的容器再把原來的容器釋放掉,如果容器足夠大,就直接把元素插入到動態陣列裡面。
void print_array(dynamic_array arr) //輸出
cout << endl;
}輸出方法,通過for迴圈來進行把陣列逐個遍歷輸出。
main主函式部分:
void main()
print_array(array); //輸出
}首先呼叫初始化的方法,通過結構體進行建立動態陣列指標,指標指向方法init_array(),再通過for迴圈進行呼叫插入方法push_array()進行資料的插入。引數為指標和插入的資料變數i。後面再呼叫了方法print_array(array)進行輸出。
輸出結果:
由以上**功能,輸出新增了1到15的順序的陣列,所以輸出也為1-15的順序資料。
C 動態陣列
原 1.變長一維陣列 這裡說的變長陣列是指在編譯時不能確定陣列長度,程式在執行時需要動態分配記憶體空間的陣列。實現變長陣列最簡單的是變長一維陣列,你可以這樣做 1 檔名 array01.cpp 2 include 3 using namespace std 4 int main 5 注意int p ...
c 動態陣列
在建立動態陣列的過程中我們要遵循乙個原則,那就是在建立的時候從外層往裡層,逐層建立 而釋放的時候從裡層往外層,逐層釋放。這個話你讀了可能理解並不深刻,不過不要急,接下來我們看看兩段 一維動態陣列的建立 include include int main int n1,i int array print...
c 動態陣列
這學期學c 晚上有道程式設計題,比較坑,感覺要用動態陣列做,但實際就是要用靜態陣列,因為動態的反而更難了。用動態陣列的時候,發現自己只會建立一維的 int a new int 5 然後二維陣列怎麼創都忘記了,還是那句話 不寫 很容易 忘記。然後下面就給出幾個例子吧 cpp view plain co...