用c语言写个Arraylist
时间: 2023-03-01 18:19:10 浏览: 119
首先,需要了解Arraylist是什么。Arraylist是一种动态数组,允许动态增加和删除元素。
以下是一个使用C语言实现的Arraylist的示例代码:
```
#include <stdio.h>
#include <stdlib.h>
struct ArrayList {
int size;
int capacity;
int *elements;
};
struct ArrayList *createArrayList(int initialCapacity) {
struct ArrayList *arrayList = (struct ArrayList*) malloc(sizeof(struct ArrayList));
arrayList->size = 0;
arrayList->capacity = initialCapacity;
arrayList->elements = (int*) malloc(initialCapacity * sizeof(int));
return arrayList;
}
void add(struct ArrayList *arrayList, int element) {
if (arrayList->size == arrayList->capacity) {
arrayList->capacity *= 2;
arrayList->elements = (int*) realloc(arrayList->elements, arrayList->capacity * sizeof(int));
}
arrayList->elements[arrayList->size++] = element;
}
int get(struct ArrayList *arrayList, int index) {
return arrayList->elements[index];
}
void delete(struct ArrayList *arrayList, int index) {
for (int i = index; i < arrayList->size - 1; i++) {
arrayList->elements[i] = arrayList->elements[i + 1];
}
arrayList->size--;
}
int main() {
struct ArrayList *arrayList = createArrayList(5);
add(arrayList, 1);
add(arrayList, 2);
add(arrayList, 3);
printf("%d\n", get(arrayList, 1));
delete(arrayList, 1);
printf("%d\n", get(arrayList, 1));
return 0;
}
```
以上代码实现了创建Arraylist、向Arraylist中添加元素、从Arraylist中获取元素和删除元素的操作。