#include #include struct arr;
void init_arr(struct arr *,int);//初始化
void insert_arr(struct arr *);//插入
void delete_arr(struct arr *);//刪除
int get();
bool is_empty(struct arr *);//判斷是否為空
bool is_full(struct arr *);//判斷是否陣列滿
void sort_arr();//對陣列進行排序
void show_arr(struct arr *);//列印陣列元素
void inversion_arr(); //陣列倒序
int main()
//初始化
void init_arr(struct arr * parr, int length)
parr->len = length;
parr->cnt= 0;
} //列印
void show_arr(struct arr * parr)
return ;
} printf("陣列為空");
} //判斷是否為空
bool is_empty(struct arr * parr)
return false;
} //插入
int temp;
printf("請輸入元素:");
scanf("%d",&temp);
if( is_full(parr) )else
parr->cnt++;
} //在指定的位置插入元素
void insert_arr(struct arr * parr)
printf("當前共有元素%d個\n",parr->cnt);
printf("\n請輸入要插入為第幾個元素,元素值:");
int pos,val;
scanf("%d %d",&pos,&val);
while(pos <=0 || pos > (parr->cnt+1) )
int i;
for(i=parr->cnt; i>pos-1; i--)
*(parr->pbase+pos-1)=val;//進行插入
parr->cnt++;
} //刪除
void delete_arr(struct arr * parr)
printf("當前共有元素%d個\n",parr->cnt);
printf("\n請輸入要刪除第幾個元素:");
int index;
scanf("%d",&index);
while(index <=0 || index > parr->cnt)
int i;
for(i= index-1; icnt-1; i++)
parr->cnt--;
} //判斷是否滿
陣列 一 模擬ArrayList
package datastructure 物件導向方式的對陣列封裝,模擬arraylist author wangtao date 2016 10 19 上午9 39 43 version v1.0 todo 描述 public class myarray 新增資料 public void ins...
ArrayList的簡單實現
set中的資料物件沒有順序且不可以重複 list中的資料物件有順序且可以重複 arraylist與linkedlist的區別就是陣列與鍊錶的區別,效率高,執行緒不安全 vector底層也是陣列,執行緒安全,但是效率低。每個arraylist例項的初始容量,預設為10,隨著arraylist元素的增加...
JAVA容器 模擬ArrayList的底層實現
arraylist實質上就是可變陣列的實現,著重理解 add get set remove iterator的實現,我們將關注一下問題。1 建立arraylist的時候,預設給陣列的長度設定為10。2 當set remove set的時候,如何解決越界問題?3 當add的時候,如何解決擴容問題?4 ...