频道栏目
首页 > 资讯 > IOS > 正文

iOS常见算法(二分法 冒泡 选择)

15-04-02        来源:[db:作者]  
收藏   我要投稿
二分法: 平均时间复杂度:O(log2n) int halfFuntion(int a[], int length, int number) { int start = 0; int end = length - 1; int index = 0; while(start < end) { index = start + (end - start)/2 if(a[index] == number){ return index; } else if(a[index] < number){ start = index + 1; } else{ end = index - 1; } } return index; }

冒泡排序:

/**

平均时间复杂度:O(n2)

 

空间复杂度:O(1) (用于交换)

 

稳定性:稳定

*/

void paoFuntion(int a[], int length){

for (int i = 0; i < length - 1; i++) {

for (int j = 0; j < length - 1 - i; j++) {

if (a[j] > a[j+1]) {

int temp = a[j];

a[j] = a[j+1];

a[j+1] = temp;

}

}

}

}



选择排序:

/**

平均时间复杂度:O(n2)

 

空间复杂度:O(1) (用于交换和记录索引)

 

稳定性:不稳定 (比如序列【5, 5, 3】第一趟就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)

*/

void chooseFuntion(int a[],int length){

for (int i = 0; i < length - 1; i++) {

for (int j = i + 1; j < length ; j++) {

if (a[i] > a[j]) {

int temp = a[j];

a[j] = a[i];

a[i] = temp;

}

}

}

}

相关TAG标签
上一篇:代码写个九宫格布局显示图片
下一篇:Cocos2d-JS键盘事件
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站