C语言结构体实现线性数组

·利用C语言的结构体及指针的相关知识,仿照数组类自己实现一个数组。并实现类似数组的一些接口方法。这边考虑利用结构体,有三个因素,数组指针,数组长度,数组元素实际长度。定义结构体如下

定义一些接口方法

create_Array是初始化方法。

isEmpty 和 isFull 是判断是否为空 或者数组是否满的方法,主要是判断结构体成员变量的长度以及目前实际元素的个数。

append和 insert方法主要是模拟Array类的add和 insert方法,其中append 很简单就是给指针当前指向的下个位置赋值,并且对长度做+1即可,insert方法稍微麻烦点,要传入插入的index以及插入的值,要把index后的元素都要做后移操作。

deleteArray跟插入的原理大致类似,传入index,以及一个地址,是为了将要删除的元素的值一并返回。

convertArray 是翻转的方法,原理就是分别利用俩个头尾的位置,相互交换,直到重合停止,sortArray即是一个简单的冒牌排序,这个排序方法有很多种,这边只是利用其中一种。

上面是一些接口方法的实现,这样我们就可以利用定义的这个结构体以及接口方法来仿照实现一个数组的功能。


完毕。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 3,479评论 3 44
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,778评论 18 399
  • 一。小红点简述 英文Badge(徽标),出现在图标或文字右上角的红色圆点,表示有新内容或者待处理的信息。 二。小红...
    Meowmaid阅读 2,511评论 0 3
  • 这本书,断断续续不知看了多久。今天,终选择在一个大雨天气,躲在安静角落里,将其读完。合上书,望向窗外。雨,依旧很大...
    白衡阅读 539评论 7 3
  • I cannot do any experiments this week since there is no ...
    山核桃_0a8a阅读 142评论 0 0