目录
顺序表的结构定义
首先,我们需要定义一个结构体来表示顺序表,包括数据元素数组和当前元素个数等信息:
#define MAX_SIZE 100 // 定义顺序表的最大容量
typedef struct {
    int data[MAX_SIZE]; // 数据元素数组
    int length; // 当前元素个数
} SeqList;顺序表的基本操作
-  初始化顺序表 void initSeqList(SeqList *L) { L->length = 0; }
-  插入元素 int insert(SeqList *L, int index, int element) { if (index < 0 || index > L->length || L->length == MAX_SIZE) { return 0; // 插入失败 } for (int i = L->length - 1; i >= index; i--) { L->data[i + 1] = L->data[i]; } L->data[index] = element; L->length++; return 1; // 插入成功 }
-  删除元素 int delete(SeqList *L, int index) { if (index < 0 || index >= L->length) { return 0; // 删除失败 } for (int i = index; i < L->length - 1; i++) { L->data[i] = L->data[i + 1]; } L->length--; return 1; // 删除成功 }
-  查找元素 int search(SeqList L, int element) { for (int i = 0; i < L.length; i++) { if (L.data[i] == element) { return i; // 返回元素位置 } } return -1; // 元素不存在 }
应用实例
#include <stdio.h>
int main() {
    SeqList list;
    initSeqList(&list);
    insert(&list, 0, 10);
    insert(&list, 1, 20);
    insert(&list, 2, 30);
    printf("顺序表中的元素为: ");
    for (int i = 0; i < list.length; i++) {
        printf("%d ", list.data[i]);
    }
    printf("\\n");
    delete(&list, 1);
    printf("删除元素后的顺序表为: ");
    for (int i = 0; i < list.length; i++) {
        printf("%d ", list.data[i]);
    }
    printf("\\n");
    int index = search(list, 30);
    if (index != -1) {
        printf("元素30的位置为: %d\\n", index);
    } else {
        printf("元素30不存在\\n");
    }
    return 0;
}感谢观看,还请点一个小小的赞吧!!!










