最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

本文實(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í)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 更新了Xcode8 及 iOS10遇到的問(wèn)題小結(jié)

    更新了Xcode8 及 iOS10遇到的問(wèn)題小結(jié)

    更新了Xcode8 以及 iOS10,App訪問(wèn)用戶的相機(jī)、相冊(cè)、麥克風(fēng)、通訊錄的權(quán)限都需要重新進(jìn)行相關(guān)的配置,不然在Xcode8中打開編譯的話會(huì)直接crash.這篇文章主要介紹了更新了Xcode8 及 iOS10遇到的問(wèn)題小結(jié)的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • iOS應(yīng)用程序之間的幾種跳轉(zhuǎn)情況詳解

    iOS應(yīng)用程序之間的幾種跳轉(zhuǎn)情況詳解

    這篇文章給大家詳細(xì)介紹了iOS應(yīng)用程序之間跳轉(zhuǎn)的幾種情況,包括跳轉(zhuǎn)到另一個(gè)程序的主界面、跳轉(zhuǎn)到另一個(gè)程序的指定界面以及如何從目標(biāo)程序的非主頁(yè)界面回到當(dāng)前(跳轉(zhuǎn)前)程序呢?有需要的朋友們可以下面來(lái)一起看看。
    2016-09-09
  • 詳解iOS App中調(diào)用AVAudioPlayer播放音頻文件的用法

    詳解iOS App中調(diào)用AVAudioPlayer播放音頻文件的用法

    這篇文章主要介紹了iOS App中調(diào)用AVAudioPlayer播放音頻文件的用法,AVAudioPlayer僅能播放本地文件而不能添加網(wǎng)絡(luò)源,實(shí)例代碼為Objective-C,需要的朋友可以參考下
    2016-03-03
  • iOS 本地視頻和網(wǎng)絡(luò)視頻流播放實(shí)例代碼

    iOS 本地視頻和網(wǎng)絡(luò)視頻流播放實(shí)例代碼

    本篇文章主要介紹了iOS 本地視頻和網(wǎng)絡(luò)視頻流播放實(shí)例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • iOS開發(fā)之如何通過(guò)PUT請(qǐng)求上傳數(shù)據(jù)

    iOS開發(fā)之如何通過(guò)PUT請(qǐng)求上傳數(shù)據(jù)

    眾所周知一般的服務(wù)器上傳數(shù)據(jù)都是用POST請(qǐng)求,這樣通過(guò)AFNetworking的POST請(qǐng)求穩(wěn)穩(wěn)的,但是有一天遇到一個(gè)問(wèn)題,服務(wù)器上傳數(shù)據(jù)用的是PUT請(qǐng)求,發(fā)現(xiàn)用AFNetworking并不是那么好用,下面這篇文章就來(lái)講一下如何通過(guò)PUT請(qǐng)求上傳數(shù)據(jù)。有需要的朋友們可以參考借鑒。
    2016-11-11
  • IOS 照片操作(獲取信息及修改照片)詳解

    IOS 照片操作(獲取信息及修改照片)詳解

    這篇文章主要介紹了IOS 照片操作及獲取拍照信息和修改信息的相關(guān)資料,這里主要介紹,獲取系統(tǒng)照片信息,及地理位置和時(shí)間的修改,需要的朋友可以參考下
    2016-11-11
  • iOS調(diào)試Block引用對(duì)象無(wú)法被釋放的小技巧分享

    iOS調(diào)試Block引用對(duì)象無(wú)法被釋放的小技巧分享

    這篇文章主要給大家分享介紹了關(guān)于iOS調(diào)試Block引用對(duì)象無(wú)法被釋放的小技巧,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)各位iOS開發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 一個(gè)方法搞定iOS下拉放大及上推縮小

    一個(gè)方法搞定iOS下拉放大及上推縮小

    在很多的APP中,我們可以看到一個(gè)列表頂部的圖片會(huì)隨著下拉會(huì)放大,隨著上推縮小。這樣的效果沒(méi)能給定一個(gè)固有名詞,現(xiàn)在本文介紹使用代碼實(shí)現(xiàn)這樣的效果,代碼量很少,容易理解。當(dāng)然實(shí)現(xiàn)效果是很好的。
    2016-07-07
  • IOS 算法 三數(shù)之和求解問(wèn)題

    IOS 算法 三數(shù)之和求解問(wèn)題

    這篇文章主要介紹了IOS 算法 三數(shù)之和求解問(wèn)題,屬于IOS 算法中級(jí)等級(jí),感興趣的朋友請(qǐng)閱讀下文
    2021-09-09
  • iOS 動(dòng)畫實(shí)戰(zhàn)之釣魚小游戲?qū)嵗a

    iOS 動(dòng)畫實(shí)戰(zhàn)之釣魚小游戲?qū)嵗a

    最近小編做了一個(gè)釣魚小游戲,平時(shí)沒(méi)有做過(guò),所以上手有點(diǎn)急躁,不過(guò),最終還是實(shí)現(xiàn)了,下面小編給大家分享iOS 動(dòng)畫實(shí)戰(zhàn)之釣魚小游戲的實(shí)現(xiàn)思路,感興趣的朋友一起看看吧
    2018-02-02

最新評(píng)論

航空| 安吉县| 彭泽县| 临泉县| 颍上县| 固安县| 华阴市| 凌云县| 临泉县| 霍城县| 拉萨市| 邵阳县| 图们市| 平乡县| 曲阜市| 通河县| 全州县| 凤山市| 来凤县| 鹤庆县| 翼城县| 高唐县| 西乡县| 武乡县| 洪泽县| 犍为县| 庄浪县| 扬中市| 东平县| 卢氏县| 沾益县| 敦煌市| 开原市| 抚远县| 浦江县| 青阳县| 铅山县| 北海市| 汨罗市| 绍兴县| 房山区|