国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > iOS > 正文

ios實(shí)現(xiàn)簡(jiǎn)易隊(duì)列

2020-07-26 02:18:07
字體:
供稿:網(wǎng)友

本文實(shí)例為大家分享了ios實(shí)現(xiàn)簡(jiǎn)易隊(duì)列的具體代碼,供大家參考,具體內(nèi)容如下

滿足一些特殊需求

接口部分(隊(duì)列支持需求)

#import <Foundation/Foundation.h>@interface XMQueue : NSObject///隊(duì)列追加- (void)add:(id) obj;///隊(duì)列取出- (id)next;///返回隊(duì)列最前端,不刪除隊(duì)列內(nèi)元素- (id)first;///隊(duì)列內(nèi)是否還有元素- (BOOL) isEmpty;///隊(duì)列轉(zhuǎn)array- (NSArray *) arrayCopy;@end

實(shí)現(xiàn)方法

#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

測(cè)試

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]);  }

結(jié)果

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 工布江达县| 宁都县| 鄂托克旗| 冕宁县| SHOW| 宁陵县| 吉首市| 库车县| 长治市| 宁明县| 道孚县| 泗阳县| 天门市| 平安县| 呼和浩特市| 米林县| 泾川县| 当阳市| 大化| 呈贡县| 仙居县| 孟州市| 开化县| 曲松县| 桐梓县| 巴彦淖尔市| 吉木萨尔县| 白沙| 呈贡县| 神农架林区| 嘉义县| 吉林省| 文安县| 应城市| 荥经县| 鄂尔多斯市| 渝中区| 湖北省| 东丰县| 南和县| 广水市|