自己动手实现一个队列LGQueue

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自己动手实现一个队列LGQueue相关的知识,希望对你有一定的参考价值。

自己动手实现一个队列LGQueue

ios系统没有提供queue容器,如果想用,需要手动自己来写一个:

.h

//
//  LGQueue.h
//  AntsSportApp
//
//  Created by ligang on 15/3/24.
//  Copyright (c) 2015年 ligang. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface LGQueue : NSObject

@property (nonatomic, strong) NSMutableArray *queue;

@property (nonatomic, readonly) NSInteger count;

- (void)enterQueue:(id)object;
- (id)exitQueue;
- (void)clear;



@end

.m

//
//  LGQueue.m
//  AntsSportApp
//
//  Created by ligang on 15/3/24.
//  Copyright (c) 2015年 ligang. All rights reserved.
//

#import "LGQueue.h"

@implementation LGQueue

- (id)init
{
    if ( self = [super init] ) {

        self.queue = [[NSMutableArray alloc] init];
        _count = 0;

    }
    return self;
}

- (void)enterQueue:(id)object
{
    [self.queue addObject:object];
    _count = self.queue.count;
}


- (id)exitQueue
{
    if ( self.queue.count == 0 )  return nil;

    id object = [self.queue objectAtIndex:0];
    [self.queue removeObjectAtIndex:0];
    _count = self.queue.count;

    return object;

}


- (void)clear
{
    [self.queue removeAllObjects];
    _count = 0;
}

@end

 

本文出处刚刚在线:http://www.superqq.com/blog/2015/03/24/zi-ji-dong-shou-chuang-jian-%5B%3F%5D-ge-dui-lie-lgqueue/

以上是关于自己动手实现一个队列LGQueue的主要内容,如果未能解决你的问题,请参考以下文章

自己动手写线程池

laravel自带队列和redis实现队列哪个效率高

Java 剑指offer 用两个栈实现队列

死磕 java线程系列之自己动手写一个线程池(续)

死磕 java线程系列之自己动手写一个线程池(续)

# Java 常用代码片段