欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ios實現(xiàn)簡易隊列

 更新時間:2020年02月21日 07:22:58   作者:zyw658000  
這篇文章主要為大家詳細(xì)介紹了ios實現(xiàn)簡易隊列,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

滿足一些特殊需求

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

#import <Foundation/Foundation.h>

@interface XMQueue : NSObject

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

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

///返回隊列最前端,不刪除隊列內(nèi)元素
- (id)first;

///隊列內(nèi)是否還有元素
- (BOOL) isEmpty;

///隊列轉(zhuǎn)array
- (NSArray *) arrayCopy;
@end

實現(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

測試

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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 在iOS App中實現(xiàn)地理位置定位的基本方法解析

    在iOS App中實現(xiàn)地理位置定位的基本方法解析

    這篇文章主要介紹了在iOS App中實現(xiàn)地理位置定位的基本方法解析,包括獲取當(dāng)前位置和計算兩點間距離等基本功能的實現(xiàn),需要的朋友可以參考下
    2016-05-05
  • iOS自定義推送消息提示框

    iOS自定義推送消息提示框

    這篇文章主要為大家詳細(xì)介紹了自定義iOS推送消息提示框的相關(guān)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • iOS中NSArray數(shù)組常用處理方式

    iOS中NSArray數(shù)組常用處理方式

    這篇文章主要介紹了iOS中NSArray數(shù)組常用處理方式,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-08-08
  • 在iOS中實現(xiàn)谷歌滅霸彩蛋的完整示例

    在iOS中實現(xiàn)谷歌滅霸彩蛋的完整示例

    這篇文章主要給大家介紹了關(guān)于如何在iOS中實現(xiàn)谷歌滅霸彩蛋的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對各位iOS開發(fā)者們具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • iOS中Label實現(xiàn)顯示不同顏色與字體的方法

    iOS中Label實現(xiàn)顯示不同顏色與字體的方法

    這篇文章主要給大家介紹了關(guān)于在iOS中Label實現(xiàn)顯示不同顏色與字體的相關(guān)資料,文中分別介紹了利用range或者文字兩種實現(xiàn)的方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-11-11
  • 關(guān)于iOS 11下app圖標(biāo)變空白問題的解決方法

    關(guān)于iOS 11下app圖標(biāo)變空白問題的解決方法

    升級到iOS11系統(tǒng)下自己的項目桌面app圖標(biāo)不見了,通過查找相關(guān)的資料終于找到了解決方法,下面這篇文章主要給大家介紹了關(guān)于iOS 11下app圖標(biāo)變空白問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。
    2017-12-12
  • iOS實現(xiàn)圓角箭頭視圖

    iOS實現(xiàn)圓角箭頭視圖

    這篇文章主要為大家詳細(xì)介紹了iOS實現(xiàn)圓角箭頭視圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • iOS10推送之基礎(chǔ)知識(必看篇)

    iOS10推送之基礎(chǔ)知識(必看篇)

    相信每位iOS開發(fā)者們都知道,在iOS10更新之后,推送也是做了一些小小的修改,下面我就給大家仔細(xì)說說iOS10的推送,有需要的朋友們可以參考借鑒。下面來一起看看吧。
    2016-09-09
  • 詳解iOS開發(fā)中解析JSON中的boolean類型的數(shù)據(jù)遇到的問題

    詳解iOS開發(fā)中解析JSON中的boolean類型的數(shù)據(jù)遇到的問題

    這篇文章主要介紹了詳解iOS開發(fā)中解析JSON中的boolean類型的數(shù)據(jù)遇到的問題,具有一定的參考價值,有興趣的可以了解一下。
    2016-12-12
  • iOS手勢的實現(xiàn)方法

    iOS手勢的實現(xiàn)方法

    這篇文章主要為大家詳細(xì)介紹了iOS手勢的實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03

最新評論