void insertAfterKey(SeqList* list, int key, int e) {
int i, j;
// 查找元素的位置
for (i = 0; i < list->length; i++) {
if (list->data[i] == key) {
break;
}
}
// 如果找到了元素的位置
if (i < list->length) {
// 后移元素
for (j = list->length - 1; j > i; j--) {
list->data[j + 1] = list->data[j];
}
// 插入新元素
list->data[i + 1] = e;
// 更新顺序表的长度
list->length++;
printf("元素插入成功\n");
} else {
printf("未找到指定元素\n");
}
}
void deleteElement(SeqList* list, int e) {
int i, j;
// 查找元素的位置
for (i = 0; i < list->length; i++) {
if (list->data[i] == e) {
break;
}
}
// 如果找到了元素的位置
if (i < list->length) {
// 前移元素
for (j = i; j < list->length - 1; j++) {
list->data[j] = list->data[j + 1];
}
// 更新顺序表的长度
list->length--;
printf("元素删除成功\n");
} else {
printf("未找到指定元素\n");
}
}
void modifyElement(SeqList* list, int oldElement, int newElement) {
int i;
// 遍历顺序表,查找要修改的元素的位置
for (i = 0; i < list->length; i++) {
if (list->data[i] == oldElement) {
// 找到指定元素,进行修改
list->data[i] = newElement;
printf("元素修改成功\n");
return;
}
}
printf("未找到指定元素,修改失败\n");
}
int searchElement(SeqList* list, int element) {
int i;
// 遍历顺序表,逐个比较元素和目标元素
for (i = 0; i < list->length; i++) {
if (list->data[i] == element) {
// 找到目标元素,返回位置(索引)
return i;
}
}
// 目标元素不存在
return -1;
}
void freeSeqList(SeqList* list) {
// 释放顺序表中存储元素的内存空间
free(list->data);
// 释放顺序表本身的内存空间
free(list);
}
5.16作业
最新推荐文章于 2024-07-23 14:18:41 发布