IOS这里是高效费舍尔茨洗牌 随机生成字符串
2016-06-21 14:53
537 查看
- (NSString *)shuffledAlphabet { NSString *alphabet = @"ABCDEFGHIJKLMNOPQRSTUVWXYZ"; // Get the characters into a C array for efficient shuffling NSUInteger numberOfCharacters = [alphabet length]; unichar *characters = calloc(numberOfCharacters, sizeof(unichar)); [alphabet getCharacters:characters range:NSMakeRange(0, numberOfCharacters)]; // Perform a Fisher-Yates shuffle for (NSUInteger i = 0; i < numberOfCharacters; ++i) { NSUInteger j = (arc4random_uniform(numberOfCharacters - i) + i); unichar c = characters[i]; characters[i] = characters[j]; characters[j] = c; } // Turn the result back into a string NSString *result = [NSString stringWithCharacters:characters length:numberOfCharacters]; free(characters); return result; }
相关文章推荐
- IOS 开发,调用打电话,发短信,打开网址
- ShadowPropTypesIOS汇总
- iOS 检测是否安装了第三方应用的方法--兼容iOS9之后的info.plist设置
- iOS开发 mov视频文件转换成其他视频文件格式
- iOS 多线程开发(一)
- iOS BlockweakSelf 和 strongSe
- 收集各种 iOS App 开发可以用到的代码示例
- iOS自定义Log的宏
- ios Pod安装使用 + Podfile 文件格式示范
- iOS 复杂动画之抽丝剥茧
- iOS attempt to write a readonly database
- iOS开发的设计模式
- JSONKit在iOS9上编译Error解决办法
- 根据分析查看相关知识点分析iOS 三种录制视频方式
- 根据分析查看相关知识点分析iOS 三种录制视频方式
- iOS开发中---八种传值方法
- iOS 树状视图(折叠单元格)详细使用
- 百度地图的配置
- 几句话实现导航栏透明渐变 – iOS
- iOS 10 个实用小技巧(总有你不知道的和你会用到的)