一个小问题
咋搞?
这是老师布置的作业,想了想发现技术难度不亚于阿波罗登月,当然对大牛来说小菜一碟,谁能给个思路?老师老说编程要有编程思想,思想不是书上的东西,而是经过你吸收消化长在你脑子里,能应对问题的能力,这能力要多写程序多思考多锻炼才有。
可就是想不出来。都说搞技术的要有废寝忘食痴迷于解决问题的精神,可自己就是解决不了就会被活活憋死,痛苦啊。。。
回复讨论(解决方案)
参考: http://blog.csdn.net/fdipzone/article/details/8974656
参考: http://blog.csdn.net/fdipzone/article/details/8974656
看不懂啊,能稍微解释一下吗,版主君? 冒泡排序。
过程:
1.遍历整个数组,每两两相邻的元素进行比较,如$a[$i]>$a[$i+1]则互换位置,每次比较消除一个逆序。
2.每一次循环后,下次再需要循环的次数减少1。
$arr[$j+1]){ $tmp = $arr[$j]; $arr[$j] = $arr[$j+1]; $arr[$j+1] = $tmp; } } } print_r($arr);?>
// 定义数组
$arr = array(2,3,1);
因为数组元素有3个,所以需要进行2次外循环
第一次内循环开始,因为3个元素,所以内循环2次
第一步
$arr[0] 与 $arr[1] 比较 2第二步
$arr[1] 与 $arr[2] 比较 3>1 所以$arr[1]与 $arr[2]的值交换,数组变为 array(2,1,3); 这样得出这组数中最大是3,排在最右。
第二次循环开始,因为未排序的是2个元素,所以内循环1次
第一步
$arr[0] 与 $arr[1] 比较 2>1 所以$arr[1]与 $arr[2]的值交换,数组变为 array(1,2,3); 这样得出这组数中最大是2,排在3的左边。
这样就排序成功了。
// 定义数组
$arr = array(2,3,1);
因为数组元素有3个,所以需要进行2次外循环
第一次内循环开始,因为3个元素,所以内循环2次
第一步
$arr[0] 与 $arr[1] 比较 2第二步
$arr[1] 与 $arr[2] 比较 3>1 所以$arr[1]与 $arr[2]的值交换,数组变为 array(2,1,3); 这样得出这组数中最大是3,排在最右。
第二次循环开始,因为未排序的是2个元素,所以内循环1次
第一步
$arr[0] 与 $arr[1] 比较 2>1 所以$arr[1]与 $arr[2]的值交换,数组变为 array(1,2,3); 这样得出这组数中最大是2,排在3的左边。
这样就排序成功了。
有区别吗?为什么上课时不认真听讲
$arr = array(2,3,1); 这是3个数
$arr = array(2,3,1,6,7,8,4,5,9,10); 这是10个数
其他不变就可以了。
如果你是要十个数的算法步骤,我已经给出你三个数的例子。
你其实可以这样,先做4个数的吧,有3个数的例子,再做4个数的应该不难。然后做5,6,7,8,9,10的,慢慢一步步加上去就可以了。
老师说的话 瞎扯哈哈哈哈 。借用知乎的话很多人的努力还没有到拼智慧的时候 你的这个题目 几代程序员都玩腻了和四则运算一样了。
你可以假设生活的场景 有一桶鱼 大小不一 你老妈要你给它按大小排序 你会怎么给它排序 。再简单一点 有一副牌 只有10张 1-10 你会怎么给它排序??(这特么就是你大牌的时候 理牌的动作么)
老师说的话 瞎扯哈哈哈哈 。借用知乎的话很多人的努力还没有到拼智慧的时候 你的这个题目 几代程序员都玩腻了和四则运算一样了。
你可以假设生活的场景 有一桶鱼 大小不一 你老妈要你给它按大小排序 你会怎么给它排序 。再简单一点 有一副牌 只有10张 1-10 你会怎么给它排序??(这特么就是你大牌的时候 理牌的动作么)
本菜鸟现在在搞PHP培训,大约春节前结束。到时候差不多已草尽粮绝,如果学的不精就找不到工作,那只能流浪街头加入丐帮了。。。帮帮我吧,怎样成为高水平程序员?
不懂就多写写 冒泡排序 选择排序这些都可以
不懂就多写写 冒泡排序 选择排序这些都可以
关键是没学过,比如for($i=0,$length=count($arr)-1; $i
不懂就多写写 冒泡排序 选择排序这些都可以
这些基础还是要学下的,先把基础学好
知道for循环?数组值挨个循环遍历排序