自定义的可变数组
学过数据结构的人应该了解,数据结构是用来在内存中存储数据用的,在大学期间学习线性表,链表,十字链表,图,二叉树等的时候,都是要自己写创建,遍历,插入,删除等函数的实现。然而后面学了面向对象语言后,系统都自己封装好了,可以直接使用,条用方法即可。为了强化自己的动手编程能力,决定自己手写一个object-c中的可变数组,用链表实现。
申明部分
#import <Foundation/Foundation.h>
@interface HTCMutableArray : NSObject
// 计算数组中对象的个数
@property (nonatomic,assign,readonly) NSInteger count;
// 类方法创建对象
+ (instancetype)array;
// 添加对象到数组中
- (void)addObject:(id)object;
// 根据索引得到对象
- (id)objectAtIndex:(NSInteger)index;
// 插入对象到索引为index的数组中
- (void)insertObject:(id)object atIndex:(NSInteger)index;
// 从数组中移除索引为index的对象
- (void)removeObjectAtIndex:(NSInteger)index;
// 遍历数组中的对象,输出其地址
- (void)ergodicArray;
@end
实现部分
#import "HTCMutableArray.h"
/**
* 自定义可变数组,使用数据结构中的链表结构完成
*/