你所需要的网站建设服务,我们均能行业靠前的水平为你提供.标准是产品质量的保证,主要从事网站设计制作、网站建设、企业网站建设、成都做手机网站、网页设计、品牌网站设计、网页制作、做网站、建网站。成都创新互联公司拥有实力坚强的技术研发团队及素养的视觉设计专才。
学PHP就不要去弄什么冒泡法之流,系统有快速排序函数,用法例子如下:允许输出内容如下:Array( [0] => 4 [1] => 6 [2] => 23 [3] => 78)
没有for循环或者while循环或者递归就觉得是错。其实排序要排多次,一般算法就如数据结构书上写的就那么几种、如直接插入排序、堆排序、快速排序等等。建议你自己去看看别人怎么写的吧。这种不停用if else判断是不可能完成排序的。而且根据你输入数据的不同,朴素的算法最少排1次,最多n-1次好一点的算法就nlog n次。想去看一下数据结构关于排序的部分吧。
function bubble_sort($array) $count = count($array); if($count <= 0) return false; } for($i=0; $i for($k=$count-1; $k>$i; $k--) if($array[$k] < $array[$k-1]) $tmp = $array[$k]; $array[$k] = $array[$k-1]; $array[$k-1] = $tmp; } } } return $array; } $arr = array(3, 5, 1, 4, 2); $s = bubble_sort($arr); print_r($s); 拿去改吧
将一维数组的改一下就可以了假设数组是a[m][n],可以用下面的方法for(pass=1;pass
用循环就可以解决。。把二维数组所有值取到一维数组中。public static void main(string[] args) { int str2s[][] = {{ 11, 12 },{ 21, 22 } }; int strs[] = new int[4]; system.out.println(str2s.length); for (int i = 0; i < str2s.length; i++) { for (int j = 0; j < str2s[i].length; j++) { strs[i+j] = str2s[i][j]; } } }
=$i;$j--){ if($arr[$j+1]<=$arr[$j]){ $tmp=$arr[$j+1]; $arr[$j+1]=$arr[$j]; $arr[$j]=$tmp; } } } $arr=implode(",",$arr); //把数组切割为字符串 return $arr; //返回函数值 } $arr=array(1,22,31,4,65,40,34,43,234); $arr2=maopao($arr); //函数传值 print_r($arr2); ?>
不要做这些作业,如果你想学好PHP的话,因为PHP有更高效的函数可以直接调用完成排序,对于学习PHP来说,知道系统函数并熟练调用才是能力,冒泡法这样的浪费光阴的东西,不可能在任何一个PHP项目中使用。
用来对一些数据进行排序的
从小到大的排序 class program { public static void sort(int[] myarray) { // 取长度最长的词组 -- 冒泡法 for (int j = 1; j < myarray.length;j++) { for (int i = 0; i < myarray.length - 1; i++) { // 如果 myarray[i] > myarray[i+1] ,则 myarray[i] 上浮一位 if (myarray[i] >myarray[i + 1]) { int temp = myarray[i]; myarray[i] = myarray[i + 1]; myarray[i + 1] = temp; } } } } static void main(string[] args) { int[] myarray = new int[] { 10, 8, 3, 5, 6, 7, 4, 6, 9 }; sort(myarray); for (int m = 0; m < myarray.length; m++) { console.writeline(myarray[m]); } } 从大到小的排序 class program { public static void sort(int[] myarray) { // 取长度最长的词组 -- 冒泡法 for (int j = 1; j < myarray.length;j++) { for (int i = 0; i < myarray.length - 1; i++) { // 如果 myarray[i] < myarray[i+1] ,则 myarray[i] 下沉一位 if (myarray[i] < myarray[i + 1]) { int temp = myarray[i]; myarray[i] = myarray[i + 1]; myarray[i + 1] = temp; } } } } static void main(string[] args) { int[] myarray = new int[] { 10, 8, 3, 5, 6, 7, 4, 6, 9 }; sort(myarray); for (int m = 0; m < myarray.length; m++) { console.writeline(myarray[m]); } }