写了两个简单的排序函数

需要时可以贴上去用

void InsertSort(NSMutableArray *array) {

int i, j;

for (i = 1; i < [array count]; ++i) {

id temp = [[array objectAtIndex:i] copy];

for (j = i; j > 0 && [temp intValue] < [[array objectAtIndex:j - 1] intValue]; --j)

[array replaceObjectAtIndex:j withObject:[array objectAtIndex:j - 1]];

[array replaceObjectAtIndex:j withObject:temp];  

}

}

 

void SelectSort(NSMutableArray *array) {

int i, j;

for (i = 0; i < [array count] - 1; ++i) 

for (j = i + 1; j < [array count]; ++j) 

if ([[array objectAtIndex:i] intValue] > [[array objectAtIndex:j] intValue]) {

id temp = [[array objectAtIndex:j] copy];

[array replaceObjectAtIndex:j withObject:[array objectAtIndex:i]];

[array replaceObjectAtIndex:i withObject:temp];

}

}

 

void BSelectSort(NSMutableArray *array) {

int i, j, high, low, m;

for (i = 1; i < [array count]; ++i) {

id temp = [[array objectAtIndex:i] copy];

low = 0;

high = i - 1;

while (low <= high) {

m = (low + high) / 2;

if ([[array objectAtIndex:m] intValue] > [temp intValue])

high = m - 1;

else

low = m + 1;

}

for (j = i - 1; j >= high + 1; --j) 

[array replaceObjectAtIndex:j + 1 withObject:[array objectAtIndex:j]];

[array replaceObjectAtIndex:high + 1 withObject:temp];

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值