Objective-c写冒泡排序】的更多相关文章

做面试题遇到用obj-c写冒泡排序,随便写了个 - (NSMutableArray *)sorted:(NSMutableArray *)array { int len = [array count]; for (int j = 0 ; j < len-1; j++) { for (int i = 0; i < len-1-j; i++) { if ([[array objectAtIndex:i] compare:[array objectAtIndex:i+1]] > 0) { NS…
冒泡就是重复地遍历要排序的数列,一次比较两个元素(泡泡),如果他们的顺序错误就把他们交换过来,像泡泡一样,依次按照顺序上升排列. 冒泡排序算法的运作如下: 比较相邻的元素.如果第一个比第二个大(升序),就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.这步做完后,最后的元素会是最大的数. 针对所有的元素重复以上的步骤,除了最后一个. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较. 写了三种冒泡,大同小异,差不多都一样昂,这应该是注释最多的冒泡排…
题目:利用for循环,完成a=[1,7,4,89,34,2]的冒泡排序(冒泡排序:小的排前面,大的排后面.) 第一种:可以看到每次排序的结果 a = [100,97,4,89,34,2] n = 0 for n in range(0,5): for i in range(0,len(a)-1): if a[i] > a[i+1]: a[i+1],a[i] = a[i],a[i+1] # change = a[i] # a[i] = a[i+1] # a[i+1] = change n += 1…
1.概念理解: 冒泡排序:可以简单的理解为是列表中相近的元素,两两比较,小的在前面.最多需要len()-1次排序. 2.例子:a=[11,7,4,56,35,0] 3.代码实现: 4.输出结果: 第1次排序是[7, 4, 11, 35, 0, 56]第2次排序是[4, 7, 11, 0, 35, 56]第3次排序是[4, 7, 0, 11, 35, 56]第4次排序是[4, 0, 7, 11, 35, 56]第5次排序是[0, 4, 7, 11, 35, 56]…
对于经典算法,你是否也遇到这样的情形:学时觉得很清楚,可过阵子就忘了? 本系列文章帮助你解决这个问题. 其实排序算法,仔细品读他的名字就见名知意了. 比如冒泡排序就很形象,遍历n次,每次循环相邻元素两两比较,把其中大的元素往后放.例如: 用javascript写冒泡排序如下 上图演示了冒泡过程的第一次循环.其中,最大的元素5就像气泡一样逐步上升到最后一位. 我们用代码展示: const arr = [3,9,6,1,2,4,0] ; for(let i = 0;i<arr.length-1;i+…
写这篇博文的目的是想起到抛砖引玉的作用,还请大牛们留下一些先进的思想,让小菜学习一下.下面入正题. 复习C语言怎么能少的了冒泡呢,记得刚学C语言那会,感觉冒泡排序真的太复杂了,理解不大了,嗯!还是当时的功底不够啊.当时一些冒泡都头疼,感觉这么多的循环(哈哈!!其实也就俩,当时就是感觉太复杂).现在再写冒泡排序,感觉自己当时学C语言的时候是不是太笨了呢. 仔细想想,之前写冒泡之所以感觉到难是没有真正的理解冒泡的思想,就硬着头皮写,结果可以想象,是以失败而告终的.现在写代码也有一段时间了,学的编程语…
刚刚坐着没事干,就用swift语言写了写冒泡排序,还望高手指点.拍砖!哈哈! 废话不多说,上代码! import Cocoa var array = [,,,,,,,,,,,,,,,,,] println("排序前的值:") for item in array { var ii = item println(ii) } ; i < array.count - ; ++i { ; j < array.count - - i; ++j{ ] { var temp = array…
本人应届生面试,发现被问了2次关于排序的算法.当时竟然没写出来!!!好吧,可能是用库函数多了,很久没搞算法了,在纸上写没感觉吧. 今天花了1个多小时写了下冒泡排序与插入排序(C#实现),并写了注释和小函数,力求算法分析透彻,自解释的代码. //优化建议: //1.定义<>比较器(而不是传入字符串命令让函数判断),方便指定排序顺序 //2.凡是带有int endIndex, int insertValue参数的函数都应该做成重载,不指定则从数组开始,或直到数组末尾 using System; u…
常见的排序算法有Bubble Sort.Merge Sort.Quick Sort 等,所有排序算的基本法思想都是把一个无限大的数据规模通过算法一步步缩小,指导最后完成排序. 这里分享一下Buuble Sort算法,php版本的.冒泡排序不适合在待排序的数据集特别大的情况下,这里只是一个简易的demo,待排序的数据在10以内. 冒泡排序算法有2种极端的情况所导致的算法复杂度是不一样的: 所有的数据集都是有序的,则此时通过算法优化可以是算法的复杂度从 O(n^2) 将至 O(n) 所有的数据集都是…
冒泡排序是非常基础的排序算法,本文我们看看在 Bash 脚本中如何写冒泡排序.本文的演示环境为 ubuntu 16.04. 冒泡排序的简要描述如下: 通过连续的比较对数组中的元素进行排序 比较两个相邻的元素,如果顺序不对,就交换这两个元素的位置 当第一轮比较结束之后,最 "重" 的元素就会被移动到最底部 当第二轮比较结束之后,第二 "重" 的元素就会被移动到次底部的位置 这意味着每轮比较不需要比较之前已经 "沉淀" 好的数据 如果有 n 个元素,…