怎么在ios中实现一个队列-创新互联

本篇文章为大家展示了怎么在ios中实现一个队列,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

10年积累的成都网站建设、网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有乌审免费网站建设让你可以放心的选择与我们合作。

接口部分

#import 

@interface XMQueue : NSObject

///队列追加
- (void)add:(id) obj;

///队列取出
- (id)next;

///返回队列最前端,不删除队列内元素
- (id)first;

///队列内是否还有元素
- (BOOL) isEmpty;

///队列转array
- (NSArray *) arrayCopy;
@end

实现方法

#import "XMQueue.h"
@interface XMQueue()
@property NSMutableArray *array;
@property NSInteger currentIndex;
@end
@implementation XMQueue

- (instancetype)init
{
 self = [super init];
 if (self) {
 self.array = [[NSMutableArray alloc] initWithCapacity:32];
 
 }
 return self;
 
}

- (void)add:(id) obj{ 
 if (self.currentIndex >= self.array.count-1) { 
 NSMutableArray *newArray = [[NSMutableArray alloc] initWithCapacity:self.array.count*2]; 
 for (id obj in self.array) {
  [newArray addObject:obj];
  
 }
 self.array = newArray;
 }
 [self.array addObject:obj];

}

- (id)next{
 
 if (![self isEmpty]) {
 id obj = [self.array objectAtIndex:0]; 
 [self.array removeObjectAtIndex:0];
 return obj;
 }else{
 return @"Empty";
 }
 
}
- (id)first{
 if (![self isEmpty]) {
 return self.array[0];
 }else{
 return @"Empty";
 }
}
- (BOOL) isEmpty{
 
 return self.array.count == 0;
 
}

@end

测试

XMQueue *queue = [[XMQueue alloc] init];
 
 for (int i = 0; i < 5; i++) {
 [queue add:[NSNumber numberWithInt:i]];
 }
 
 for (NSNumber *number in [queue arrayCopy]) {
 printf("%d,",[number intValue]);
 
 }
 printf("\n");
 [queue add:[queue next]];
 for (NSNumber *number in [queue arrayCopy]) {
 printf("%d,",[number intValue]);
 
 }
 printf("\n");
 [queue add:[queue next]];
 for (NSNumber *number in [queue arrayCopy]) {
 printf("%d,",[number intValue]);
 
 }
 printf("\n");
 [queue add:[queue next]];
 for (NSNumber *number in [queue arrayCopy]) {
 printf("%d,",[number intValue]);
 
 }
 printf("\n");
 [queue add:[queue next]];
 for (NSNumber *number in [queue arrayCopy]) {
 printf("%d,",[number intValue]);
 
 }
 printf("\n");
 [queue add:[queue next]];
 for (NSNumber *number in [queue arrayCopy]) {
 printf("%d,",[number intValue]);
 
 }

结果

怎么在ios中实现一个队列

上述内容就是怎么在ios中实现一个队列,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联网站建设公司行业资讯频道。

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页名称:怎么在ios中实现一个队列-创新互联
本文网址:http://scyanting.com/article/esoco.html