C语言之动态数组

来源:互联网 发布:顺义握奇数据怎么样 编辑:程序博客网 时间:2024/06/05 22:33

Copyright@Ucare1990-2017.3.22于南山大学城 【独学而无友,则孤陋而寡闻】


简要:动态数组不是链表,是内存管理(函数)和(深)拷贝技术的灵活应用


==动态数组用一个结构体保存了动态数组的相关信息,把这个结构体称为"头"

==一个头结构体样式:
    typedef void(*p_t)(void * data);

    typedef struct _darr_t{
        void *p;                 //动态数组指针(头位置)
        int size;                 //动态数组每个元素所占空间大小(字节)
        int count;              //动态数组元素个数        
        p_t my_destroy;  //自定义的销毁函数
    }darr_t;

==一图搞定动态数组操作原理:



==动态数组实现的功能列举【增/删/改/查/文件IO/遍历/销毁

元素增加:
    头部插入元素
    尾部插入元素
    索引插入元素

元素删除:
    索引删除元素
    关键字删元素
        通过关键字删除第一次出现的元素
        通过关键字删除所有的元素

元素改变:
    索引改变元素
    关键字改元素
        通过关键字改某一指定元素
        通过关键字改所有指定元素

元素查找:
    索引查找元素
    关键字查元素
        关键字查找第一次出现的索引
        关键字查找所有的索引

文件操作:
    动态数组元素保存至文件
    文件数据加载到动态数组

其它操作:
    动态数组的遍历
    动态数组得销毁


  这样总结下来是不是很简单!只要脑袋里有内存模型和要实现的操作,一切问题迎刃而解!


 over Thanks!

0 0
原创粉丝点击