定義一元素為整數的動態陣列類,並在主函式中呼叫各個功能:
資料成員:指向元素首位址的指標(用於儲存動態申請的陣列空間)、當前陣列的容量、當前元素的個數;
成員函式:
帶參/無參建構函式(無參的動態申請10個元素空間並改變當前陣列的容量、當前元素的個數值;帶參的按引數處理);
在尾部增加一元素;
修改指定位置上的元素值;
查詢指定資料的元素是否存在;
輸出所有陣列中的元素; 增加陣列容量(動態申請新容量陣列空間、將原來陣列空間中的元素複製到新空間並修改當前陣列的容量值,釋放delete原來陣列空間);
析構函式(釋放動態申請的陣列空間);
二分查詢指定資料的元素並返回原始所處的位置(選作,首先在函式內定義乙個結構體陣列,臨時存放當前元素值和位置。其次,使用sort函式對結構體陣列排序,最後,利用二分(折半)查詢方法找指定元素是否存在。存在,返回原始位置值。否則,返回-1。返回前釋放結構體陣列的空間)。
#include
#include
using
namespace std;
struct mylist
else}}
;class
myarray
myarray
(int num)
intgetnum()
intgetnownum()
void
addlast
(int data)
;void
modify
(int i,
int data)
;int
i***ist
(int data)
;void
print()
;void
addnum()
;int
find
(int data);~
myarray()
;};myarray::
~myarray()
void myarray::
addlast
(int data)
else
}void myarray::
print()
}void myarray::
addnum()
delete
pointer;
pointer = p;
n =2* n;
}void myarray::
modify
(int i,
int data)
int myarray::
i***ist
(int data)
}return0;
}int myarray::
find
(int data)
sort
(list, list + x)
;int mid, low =
0, high = x;
while
(low <= high)
}return0;
}int
main()
C語言 動態陣列的實現
動態陣列 dynamic array 顧名思義就是能改變大小的陣列。使用動態陣列可以有效的提高記憶體利用率。下面附上動態陣列的c語言實現 標頭檔案 dynamic array.h ifndef dynamic array h define dynamic array h ifdef cpluscpl...
C 動態陣列vector實現
最近在做將matlab 轉化為c c 的工作,在實際應用時,發現動態陣列非常重要,我在學習的時候也踩了許多坑,這篇就當做一篇踩坑筆記,希望讀者能夠繞開我踩過的坑,順利應用動態陣列。其實在c語言中,都是靜態陣列,即需要在定義的時候就定下該陣列的長度,然而這在實際的應用中,很大的一部分情況是我們並不知道...
C語言動態陣列實現
環境 vs2015 1 標頭檔案 dynamicarray.h ifndef dynamicarray h 如果沒有定義 define dynamicarray h 則定義 include include include typedef struct dynamicarray dynamic arr...