• 数据结构之顺序表(C语言版)


    顺序表是数据结构中最基本的一种线性表,它以一段连续的存储空间来存储数据元素,元素之间的顺序由它们在内存中的位置来决定。在C语言中,我们通常使用数组来实现顺序表。

    目录

    顺序表的结构定义

    顺序表的基本操作

    应用实例


    顺序表的结构定义

    首先,我们需要定义一个结构体来表示顺序表,包括数据元素数组和当前元素个数等信息:

    1. #define MAX_SIZE 100 // 定义顺序表的最大容量
    2. typedef struct {
    3. int data[MAX_SIZE]; // 数据元素数组
    4. int length; // 当前元素个数
    5. } SeqList;
    顺序表的基本操作
    1. 初始化顺序表

      1. void initSeqList(SeqList *L) {
      2. L->length = 0;
      3. }
    2. 插入元素

      1. int insert(SeqList *L, int index, int element) {
      2. if (index < 0 || index > L->length || L->length == MAX_SIZE) {
      3. return 0; // 插入失败
      4. }
      5. for (int i = L->length - 1; i >= index; i--) {
      6. L->data[i + 1] = L->data[i];
      7. }
      8. L->data[index] = element;
      9. L->length++;
      10. return 1; // 插入成功
      11. }
    3. 删除元素

      1. int delete(SeqList *L, int index) {
      2. if (index < 0 || index >= L->length) {
      3. return 0; // 删除失败
      4. }
      5. for (int i = index; i < L->length - 1; i++) {
      6. L->data[i] = L->data[i + 1];
      7. }
      8. L->length--;
      9. return 1; // 删除成功
      10. }
    4. 查找元素

      1. int search(SeqList L, int element) {
      2. for (int i = 0; i < L.length; i++) {
      3. if (L.data[i] == element) {
      4. return i; // 返回元素位置
      5. }
      6. }
      7. return -1; // 元素不存在
      8. }
    应用实例
    1. #include
    2. int main() {
    3. SeqList list;
    4. initSeqList(&list);
    5. insert(&list, 0, 10);
    6. insert(&list, 1, 20);
    7. insert(&list, 2, 30);
    8. printf("顺序表中的元素为: ");
    9. for (int i = 0; i < list.length; i++) {
    10. printf("%d ", list.data[i]);
    11. }
    12. printf("\\n");
    13. delete(&list, 1);
    14. printf("删除元素后的顺序表为: ");
    15. for (int i = 0; i < list.length; i++) {
    16. printf("%d ", list.data[i]);
    17. }
    18. printf("\\n");
    19. int index = search(list, 30);
    20. if (index != -1) {
    21. printf("元素30的位置为: %d\\n", index);
    22. } else {
    23. printf("元素30不存在\\n");
    24. }
    25. return 0;
    26. }

    通过以上实现,我们可以在C语言中创建、插入、删除和查找顺序表中的元素。顺序表的简单实现不仅有助于理解数据结构的基本概念,还可以为解决实际问题提供基础。

    顺序表作为线性表的开头部分,对于我们后续学习数据结构中还是很重要的,需要我们把它学好,本篇文章也只是点了一下知识点并给出少许例子,更多的知识还需要我们自己去探索学习!

    感谢观看,还请点一个小小的赞吧!!!

  • 相关阅读:
    海光信息三季报营业收入39.43亿元,同比增长3.22%
    常用web协议学习与抓包实战
    十进制转换成2进制
    李亮先生带您感受云台山的变化
    从零开始学习Dubbo5——让模块独立运行下
    Unity Shader学习(六)实现雷达扫描效果
    学习【Cesium】第七篇,Cesium地图加载3D建筑物并设置属性(学不会揍我)
    cenoso7安装docker,jenkins
    新库上线 | CnOpenData中国观鸟记录数据
    浏览器复制功能
  • 原文地址:https://blog.csdn.net/2301_80220607/article/details/136787468