静态链表的实现及优缺点

静态链表

    优点
    1.在插入和删除操作肘,只需要修改游标,不需要移动元素,从而改进了在顺序存储结构中的插入和删
    除操作需要移动大量元素的缺点
    缺点
    没有解决连续存储分配(数组)带来的表长难以确定的问题。失去了顺序存储结构随机存取的特性。

动态链表的优缺点

     优点

        插入删除速度快
        内存利用率高,不会浪费内存
        大小没有固定,拓展很灵活。

    缺点

    不能随机查找,必须从第一个开始遍历,查找效率低

数组的优缺点

    优点:

    数组定义简单,而且访问很方便
    缺点:

    插入删除都不方便

    数组中所有元素类型都必须相同
    数组大小必须定义时给出,而且大多数情况下,数组空间的大小一旦确定后就不能更改
    数组的空间必须是连续的,这就造成数组在内存中分配空间时必须找到一块连续的内存空间。所以数组不可能定义得太大,因为内存中不可能有那么多大的连续的内存空间,而解决这个问题的方法就是使用链表。
     
静态链表具体实现:

#define MAXSIZE 1000;//存储空间分配量
typedef struct {
    int data;//存储数据 
    int cur;//游标 
}LIST; 
LIST key[MAXSIZE];
//初始化空链表,将游标初始化即可;
void INITLIST(LISI*key,int MAXSIZE){
    for(int i=0;i<MAXSIZE;i++){
        LIST*p&
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值