数据结构中线性表的顺序式表示动态分配存储结构
顺序线性表存储结构,很容易实现随机存取线性表第i个元素的操作,但实现删除或者插入操作时需要移动大量的数据元素。所以,顺序表适应于稳定的线性表,如职工工资表和学生学籍表。
1 #define LIST_INIT_SIZE 10 //线性表存储空间的的初始分配量 2 #define LIST_INCREMENT 2//线性表存储空间分配增量 3 4 typedef int ElemType;//定义抽象数据类型ElemType为整形变量 5 6 struct Sqlist 7 { 8 ElemType *elem;//存储空间基址 9 int length;//线性表当前长度 10 int listsize; //当前分配存储容量 11 };
对此结构体的认识:第一,在外部用typedef 定义了ElemType的变量类型,这样增加了代码的灵活性。如果以后要修改存储变量的类型只需修改ElemType的类型就可以了;
第二,在这里使用的是ElemType的指针变量,相当于使用数组时的 ElemType elem[LIST_INIT_SIZE],不过这里使用指针更加灵活,这在顺序表的基本操作函数中可以看出来。
我登高只为了看的更远,如果看到的景色不如人意,我将选择继续攀登!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步