1樓:王飛
template
void Array::reallocate( unsigned int new_size )
T* old_data = data;
data = new T[new_size];
allocated = new_size;
int end = used < new_size ? used : new_size;
for (int i=0; idata[i] = old_data[i];
if (allocated < used)
used = allocated;
delete old_data;
template
void Array::push_back( const T& element )
if (used + 1 > allocated)
reallocate(used * 2 +1);
data[used++] = element;
is_sorted = false;
2樓:土地測量員
陣列起始長度是0。
輸入第1個數字n1,陣列長度為0,容納不下,於是申請容納1個元素的空間,把n1放進去。
輸入第2個數字n2,陣列長度為1,容納不下,於是申請容納1*2=2個元素的空間,把原先空間儲存的n1和這次輸入的n2都放進去。釋放原先申請的空間。
輸入第3個數字n3,陣列長度為2,容納不下,於是申請容納2*2=4個元素的空間,把原先空間儲存的n1、n2和這次輸入的n3都放進去。釋放原先申請的空間。
輸入第4個數字n4,陣列長度為4,容納得下,於是把這次輸入的n4放進去。
輸入第k個數字nk,判斷陣列的空間能夠容納得下新輸入的nk。如果可以,就把nk存進去;如果不能,就申請兩倍大小的空間,把原先空間的資料(n1~nk-1)複製過去,再存入nk。
C語言如何定義涉及自引用而導致陣列成員長度可變的結構體型別
田野 include include include include define CONT SIZE0x20typedef struct Content Content define SPEC LEN c CONT SIZE sizeof c Content CreateContent retur...
C語言裡如何按需生成函式指標陣列?
暮無井見鈴 C 怎麼生成 4096 個函式?參考這裡的巨集,編譯時生成這些函式是可行的。C 的話用 index sequence 模板就行。 VeroFess 手機回答 我是這麼做的 shellcode 彙編引擎 mmap VirtulAlloc 是不太安全 我乙個寫殼的管他安不安全 gcc下 in...
c語言陣列,利用陣列如何寫裴波納契數列的前n項的值?
Joker gcc fib.c o fib Ofast time fib define P 1000000000 7 define N 100000 include intfib intn,int arr if arr n 1 return arr n int arr N 10 intmain fo...