c 语言
#import <Foundation/Foundation.h>
#define COUNT 5
/**
* 产生随机数
*
* @param arr 数组
* @param len 数组长度
*/
void getRandomNum(int arr[],int len,int range){
//产生随机数
for (int i = 0; i < len; i++) {
//产生随机数
arr[i] = arc4random()%range;
} //此刻 循环结束后 数组已经初始化完成
}
/**
* 遍历数组
*
* @param arr 数组
* @param len 数组长度
*/
void showArr(int arr[],int len){
//打印数组
for (int i = 0; i < len; i++) {
printf("%d ",arr[i]);
}
printf("\n");
}
/**
* 冒泡排序
*
* @param arr 数组
* @param len 数组长度
*/
void sortArr(int arr[],int len){
//冒泡排序
for (int i = 0; i < len - 1; i++) {
for (int j = 0; j < len - 1 - i; j++) {
//相邻两个元素比较
if (arr[j] > arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
//创建数组
int arr[COUNT];
//生成随机数 保存到数组中
getRandomNum(arr, COUNT, 10);
//打印数组元素
showArr(arr, COUNT);
printf("-------使用排序-------\n");
//进行排序
sortArr(arr, COUNT);
//打印数组元素
showArr(arr, COUNT);
}
return 0;
}
OC面向对象
#import <Foundation/Foundation.h>
#import "NSMutableArray+randomNum.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
//创建一个可变的数组
NSMutableArray *arrM = [NSMutableArray array];
[arrM creatRandomNum:7 andRangeNum:100];
NSLog(@"arrM = %@",arrM);
printf("-------排序---------");
//排序 block的参数 直接回车就会补全
arrM = (NSMutableArray *)[arrM sortedArrayUsingComparator:^NSComparisonResult(id _Nonnull obj1, id _Nonnull obj2) {
return [obj1 compare:obj2];
}]; // 1. 中括号补全 2. 分号补全 3. 返回值补全
/* 排序的
- (NSArray *)sortedArrayUsingComparator:(NSComparator)cmptr;
*/
NSLog(@"arrM = %@",arrM);
}
return 0;
}
#import <Foundation/Foundation.h>
@interface NSMutableArray (randomNum)
/**
* 生成随机数保存到数组中
*
* @param count 随机数个数
* @param rangeNum 随机数范围
*/
-(void)creatRandomNum:(int)count andRangeNum:(int)rangeNum;
@end
#import "NSMutableArray+randomNum.h"
@implementation NSMutableArray (randomNum)
-(void)creatRandomNum:(int)count andRangeNum:(int)rangeNum{
for (int i = 0; i < count; i++) {
//生成随机数
// 基本数据类型 ---> oc对象 (NSNumber)
[self addObject:@(arc4random()%rangeNum)];
}
}
@end
|
|