動態陣列 框架搭建

2021-10-08 04:50:31 字數 3474 閱讀 9388

需考慮以下問題:

動態增長記憶體,策略將存放收據的記憶體放在堆上

動態陣列 如果5個元素

申請記憶體

拷貝資料

釋放記憶體

插入元素

容量capacity:此時這塊記憶體可以放多少元素

size 概念 記錄當前陣列中具體元素的個數

typedef

struct dynamicarrdynamic_arr;

dynamic_arr 結構體相關的函式操作

初始化

dynamic_arr*

init_arr()

;

插入

void

pushback_arr

(dynamic_arr* arr,

int value)

;//值

根據位置刪除

void

removebypos_arr

(dynamic_arr* arr,

int position)

;

根據值刪除

void

removebyvalue_arr

(dynamic_arr* arr,

int value)

;

查詢

int

find_arr

(dynamic_arr* arr,

int value)

;

列印

void

print_arr

(dynamic_arr* arr)

;

7.釋放動態陣列記憶體

void

freespace_arr

(dynamic_arr* arr)

;

8.清空陣列

void

clear_arr

(dynamic_arr* arr)

;

9.獲得動態陣列容量

int

capacity_arr

(dynamic_arr* arr)

;

10.獲得動態陣列當前元素個數·

int

size_arr

(dynamic_arr* arr)

;

11.根據位置獲得某個元素位置

int

at_arr

(dynamic_arr* arr,

int position)

;

1.初始化

dynamic_array*

init_arr()

2.插入

void

pushback_arr

(dynamic_arr* arr,

int value)

//判斷空間是否足夠

if(arr-

>size==arr-

>capacity)

//插入新元素

arr-

>parr[arr-

>size]

=value;

arr-

>size++

;}

3.刪除根據位置

void

removebypos_arr

(dynamic_arr* arr,

int position)

//判斷所刪位置是否有效

if(position<

0||position>arr-

>size)

//刪除元素

for(

int i=position;i>size;i++

) arr-

>size--

;}

4.根據值刪除value第一次出現的位置

void

removebyvalue_arr

(dynamic_arr* arr,

int value)

//找到值的位置

int position=

find_arr

(arr,value)

;for

(int i=

0;i>size;i++)}

//根據位置刪除

void

removebypos_arr

(arr,position)

;}

5.查詢

int

find_arr

(dynamic_arr* arr,

int value)

//找到值的位置

int pos=-1

;for

(int i=

0;i>size;i++)}

return position;

}

6.列印

void

print_arr

(dynamic_arr* arr)

printf

("\n");

}

7.釋放動態陣列記憶體

void

freespace_arr

(dynamic_arr* arr)

if(arr-

>parr!=

null

)free

(arr)

;}

8.清空陣列

void

clear_arr

(dynamic_arr* arr)

//parr->空間

arr-

>size=0;

}

9.獲得動態陣列容量

int

capacity_arr

(dynamic_arr* arr)

return arr-

>capacity;

}

10.獲得動態陣列當前元素個數·

int

size_arr

(dynamic_arr* arr)

return arr-

>size;

}

11.根據位置獲得某個元素

int

at_arr

(dynamic_arr* arr,

int position)

return arr-

>parr[position]

}

ThinkPHP框架一 框架搭建

require thinkphp thinkphp.php 執行tp框架 1 存放位置 controller資料夾中 2 命名規範 控制器的名稱 controller.class.php 3 類名和檔名同名 4 用帕斯卡命名法 大駝峰 5 盡量區分大小寫,6 thinkphp預設全部是utf8編碼 ...

搭建Struts框架

struts config.xml是struts框架的主心骨,在struts config.xml中會包含如下幾個部分 1 配置actionfrom,作為讀取頁面資料的vo 即值物件 value object 2 配置action對映,作為請求 的導航以及業務邏輯的呼叫。3 配置資料來源,作為資料庫...

框架搭建二

應該做乙個許可權模組 包含 使用者 角色 功能 它們之間是多對多的關係。在資料庫中新建了乙個使用者,新建乙個test表,在hibernatetools中建configration時,用的hibernate.cfg.xml,在這個檔案裡的schame,這個必須用大寫 然後生成它們對應的dao,dao就...