中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在ios中實現一個隊列

發布時間:2021-04-16 17:44:37 來源:億速云 閱讀:175 作者:Leah 欄目:移動開發

本篇文章為大家展示了怎么在ios中實現一個隊列,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

接口部分

#import <Foundation/Foundation.h>

@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中實現一個隊列,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

ios
AI

禹州市| 长宁区| 盘山县| 吉木乃县| 密山市| 青岛市| 嘉峪关市| 酉阳| 云浮市| 泌阳县| 永嘉县| 大安市| 红安县| 吉木萨尔县| 定安县| 神池县| 阜宁县| 滁州市| 渝中区| 吉木萨尔县| 济南市| 井冈山市| 弋阳县| 淄博市| 上犹县| 鹤壁市| 广昌县| 梅河口市| 平潭县| 南京市| 平乡县| 嵩明县| 雷山县| 新沂市| 宽城| 舞钢市| 右玉县| 桓仁| 娄底市| 斗六市| 新晃|