5.16作业

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);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值