C语言实现顺序表:初始化、插入、删除、查找

本文介绍如何使用C语言的结构体 SeqList 来定义一个顺序表,并实现基本的顺序表操作,包括初始化、增加元素、删除元素以及查找元素。

代码示例

#include <stdio.h>
#include <stdlib.h>

#define MAX_SIZE 100 // 定义顺序表的最大长度

// 定义顺序表结构体
typedef struct {
    int data[MAX_SIZE]; // 用于存储元素的数组
    int length; // 顺序表的当前长度
} SeqList;

// 初始化顺序表
void init(SeqList *list) {
    list->length = 0; // 将顺序表的长度初始化为0
}

// 向顺序表中增加元素
void addElement(SeqList *list, int element) {
    if (list->length >= MAX_SIZE) { // 如果顺序表已满,无法插入元素
        printf('顺序表已满,无法插入元素!\n');
        return;
    }
    list->data[list->length] = element; // 在顺序表的末尾插入元素
    list->length++; // 顺序表长度加1
}

// 从顺序表中删除元素
void deleteElement(SeqList *list, int index) {
    if (index < 0 || index >= list->length) { // 如果删除位置无效
        printf('删除位置无效!\n');
        return;
    }
    // 将删除位置后面的元素依次向前移动
    for (int i = index; i < list->length - 1; i++) {
        list->data[i] = list->data[i + 1];
    }
    list->length--; // 顺序表长度减1
}

// 在顺序表中查找元素
int search(SeqList list, int element) {
    for (int i = 0; i < list.length; i++) {
        if (list.data[i] == element) { // 如果找到元素
            return i; // 返回元素在顺序表中的位置
        }
    }
    return -1; // 如果未找到元素,返回-1
}

int main() {
    SeqList list; // 定义一个顺序表
    init(&list); // 初始化顺序表

    addElement(&list, 2); // 向顺序表中增加元素 2
    addElement(&list, 4); // 向顺序表中增加元素 4
    addElement(&list, 6); // 向顺序表中增加元素 6

    deleteElement(&list, 1); // 从顺序表中删除位置为 1 的元素

    int index = search(list, 4); // 在顺序表中查找元素 4 的位置
    if (index != -1) {
        printf('元素4在顺序表中的位置为:%d\n', index);
    } else {
        printf('元素4不在顺序表中。\n');
    }

    return 0;
}

代码解释

  1. #define MAX_SIZE 100: 定义顺序表的最大长度为100。
  2. typedef struct { ... } SeqList;: 定义一个名为 SeqList 的结构体,表示顺序表。
  3. void init(SeqList *list): 初始化顺序表,将长度设置为0。
  4. void addElement(SeqList *list, int element): 向顺序表中添加元素,如果顺序表已满则输出提示信息。
  5. void deleteElement(SeqList *list, int index): 删除指定位置的元素,如果删除位置无效则输出提示信息。
  6. int search(SeqList list, int element): 查找指定元素,返回其在顺序表中的位置,如果未找到则返回-1。
  7. main(): 主函数,演示如何使用上述函数进行顺序表操作。

总结

本文介绍了如何使用C语言实现顺序表的基本操作,包括初始化、插入、删除和查找。 通过学习本篇文章,你可以对顺序表数据结构及其操作有更深入的了解。

C语言实现顺序表:初始化、插入、删除、查找

原文地址: https://www.cveoy.top/t/topic/Yc9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录