宠物乐园数据结构c语言
时间: 2024-06-26 08:00:25 浏览: 5
在C语言中,创建一个宠物乐园的数据结构通常是为了存储和管理各种类型的宠物信息。这可能包括一个结构体(struct)来表示宠物,以及一些辅助的数据结构如链表、数组或哈希表来存储和组织这些宠物。
下面是一个简单的示例,定义了一个名为`Pet`的结构体,包含了宠物的名称(name)、类型(type)、年龄(age)等属性:
```c
typedef enum {
PET_TYPE_DOG,
PET_TYPE_CAT,
PET_TYPE_BIRD
} PetType;
typedef struct {
char name[50];
PetType type;
int age;
} Pet;
// 创建一个宠物的动态数组
typedef struct {
Pet* pets; // 宠物指针数组
int size; // 当前宠物数量
int capacity; // 容量
} PetPark;
// 动态初始化和释放数据结构
void initPetPark(PetPark* park, int capacity) {
park->pets = malloc(capacity * sizeof(Pet));
park->size = 0;
park->capacity = capacity;
}
void addPet(PetPark* park, char* name, PetType type, int age) {
if (park->size == park->capacity) {
park->capacity *= 2;
park->pets = realloc(park->pets, park->capacity * sizeof(Pet));
}
Pet newPet = {name, type, age};
park->pets[park->size] = newPet;
park->size++;
}
// 释放宠物乐园内存
void freePetPark(PetPark* park) {
free(park->pets);
park->size = 0;
park->capacity = 0;
}
```
在这个示例中,`PetPark`是数据结构,`Pet`是内部使用的结构体。你可以根据需要扩展这个数据结构,例如添加更多的宠物属性,或者实现查找、删除等操作。