本篇文章為大家展示了怎么在ios中實(shí)現(xiàn)一個(gè)隊(duì)列,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
10年積累的成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶(hù)對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶(hù)得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有烏審免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。接口部分
#import@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é)果
上述內(nèi)容就是怎么在ios中實(shí)現(xiàn)一個(gè)隊(duì)列,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。