头歌顺序表的插入和删除功能
时间: 2023-05-15 09:07:39 浏览: 168
头歌顺序表的插入和删除功能可以通过以下代码实现:
// 头歌顺序表结构体定义
typedef struct {
int *data; // 存储数据的数组指针
int length; // 当前长度
int capacity; // 容量
} SeqList;
// 初始化顺序表
void InitSeqList(SeqList *list, int capacity) {
list->data = (int *)malloc(sizeof(int) * capacity);
list->length = 0;
list->capacity = capacity;
}
// 插入元素
void Insert(SeqList *list, int value) {
if (list->length == list->capacity) {
printf("顺序表已满,无法插入!\n");
return;
}
for (int i = list->length; i > 0; i--) {
list->data[i] = list->data[i - 1];
}
list->data[0] = value;
list->length++;
}
// 删除元素
void Delete(SeqList *list, int value) {
int index = -1;
for (int i = 0; i < list->length; i++) {
if (list->data[i] == value) {
index = i;
break;
}
}
if (index == -1) {
printf("顺序表中不存在该元素!\n");
return;
}
for (int i = index; i < list->length - 1; i++) {
list->data[i] = list->data[i + 1];
}
list->length--;
}
// 释放顺序表内存
void Destroy(SeqList *list) {
free(list->data);
list->length = 0;
list->capacity = 0;
}
注意:以上代码仅供参考,实际使用时需要根据具体需求进行修改。