中易网

使用OC实现一个冒泡排序 函数定义如下: (NSArray *) sort:(NSArray *)unsortArray; 参数是没排好序的数组

答案:2  悬赏:30  
解决时间 2021-03-15 05:03
用ios的oc语法写
最佳答案
一定要自己实现冒泡吗?NSArray可以直接排序啊,给一个判定条件就可以了
如果按照你函数定义,unsortArray是一个immutable类型的数组,而你传递进来的又是一级指针,那么即使在内部完成排序的话也势必要返回另外一个autorelease数组,也就是说无法在原来的数组中进行
全部回答
1. 由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序 n个数,第1轮,比较n-1次,得到最大(或最小)数 余下的n-1个数,比较n-2次,得到排第二位的数 以此此类推,最后比较1次,确定最后两个数的大小 故总循环次数:1+2+...+n-1=(1+n-1)(n-1)/2=n(n-1)/2 因为冒泡排序是采用双重循环,因此时间复杂度为o(n^2); 2.arrays.sort()方法根据传出参数的长度的大小来判断用哪种排序方法,如果数组的长度小于7用冒泡排序,如果数组长度大于7,将数组分为两部分,前半部分和后半部分分别进行冒泡排序,最后再执行一次总的排序
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
去日本学美发要多少钱?
海道王地址在什么地方,想过去办事
电话号码注册新浪微博会显示电话号码吗
如何能联系到珠宝店的店长或者老板...谢谢
新人学习周易需要具备什么条件
毕业了,我没有表白为什么感觉好遗憾。
龙腾苑渡假山庄这个地址在什么地方,我要处理
手机里于文娟唱的童谣、爱哭的孩子要睡觉、
合肥做什么快递员好?
中国石化大冶大箕铺加油站地址在什么地方,想
乐知少儿英语怎么样了?有学过的吗?
台式电脑装系统装到万能驱动助手哪里得多长时
为什么新铺的水泥板每天都要浇水?烈日下能浇
化粪池水管从整栋房屋后面经过,风水上有影响
淮北师范大学有相关的留学事宜吗?有交换生吗
推荐资讯
游戏王用谁的卡组最好?(最好不要5DS里的)
尼康d810显示屏上查看图片时小画面的画中画?
中学生时常肚子痛,且有头昏眼花。是因为什么
北京人民大学的法学院在什么地方啊
模拟人生3 已达众生愿望
“你决不能嫁给一个不爱自己母亲的男人。”
计数单位与分数单位有不同么?
英德市清远创艺窗帘灯饰我想知道这个在什么地
水果烂了一部分 还可以吃吗
iOS 平台有哪些漂亮好用的日历应用
开面馆汤料配方
电脑怎么重装系统啊?都需要什么啊!!
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?