《PHP编程:php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】》要点:
本文介绍了PHP编程:php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】,希望对您有用。如果有疑问,可以联系我们。
本文实例讲述了php实现有序数组打印或排序的方法.分享给大家供大家参考,具体如下:PHP应用
有序的数组打印或排序对于php来讲非常的简单了这里整理了几个不同语言的做法的实现代码,具体的我们一起来看这篇php中有序的数组打印或排序的例子吧.PHP应用
最近有个面试题挺火的――把2个有序的数组打印或排序,刚看到这个题的时候也有点蒙,最优的算法肯定要用到有序的特性.PHP应用
思考了一会发现也不是很难,假如数组是正序排列的,可以同时遍历2个数组,将小的值进行排序,最后会遍历完一个数组,留下一个非空数组,而且剩下的值肯定大于等于已经排好序的最大值.PHP应用
PHP代码:PHP应用
<?php
function sort_arr($a,$b) {
$temp = array();
while ($a&&$b) {
if($a['0']<$b['0']) {
$temp[] = array_shift($a);
} else {
$temp[] = array_shift($b);
}
}
if(!emptyempty($a)) { $temp = array_merge($temp, $a); }
if(!emptyempty($b)) { $temp = array_merge($temp, $b); }
return $temp;
}
$a = array(1,2,3,4,5,6);
$b = array(2,3,4,10,10,10,10);
sort_arr($a, $b);
?>
运行得到的新数组为:PHP应用
Array ( [0] => 1 [1] => 2 [2] => 2 [3] => 3 [4] => 3 [5] => 4 [6] => 4 [7] => 5 [8] => 6 [9] => 10 [10] => 10 [11] => 10 [12] => 10 )
其他语言实现代码:PHP应用
Python 代码:PHP应用
def fib(a,b):
len_a = len(a)
c = []
while len(a) and len(b):
if a[0] > b[0]:
c.append(b.pop(0))
else:
c.append(a.pop(0))
if len(a):
c = c+a
if len(b):
c = c+b
i=0
while i<len(c):
print(c[i])
i = i+1
a = [1,2,3,4,5]
b = [2,3,4,5,6,7,8,9]
fib(a,b)
C代码:PHP应用
#include <stdio.h>;
int *sort(int a[], int b[], int a_len, int b_len) {
int *temp = malloc(a_len+b_len);
int i=0; //标注a数组
int j=0; //标注b数组
int m=0; //标注新数组
while (i<a_len&&j<b_len) { //重新排序 if(a[i]<b[j]) {
temp[m++] = b[j++];
} else {
temp[m++] = a[i++];
}
}
//将剩余的数字放在新数组后面(剩余的肯定是前面的数字大)
if(i<a_len) {
for (; i<a_len; i++) {
temp[m++] = a[i];
}
}
if(j<b_len) {
for (; j<b_len; j++) {
temp[m++] = b[j];
}
}
return temp;
}
int main(int argc, const char * argv[]) {
int a[4] = {2,3,11,89};
int b[6] = {4,6,9,10,22,55};
int a_len = sizeof(a) / sizeof(a[0]);
int b_len = sizeof(b) / sizeof(b[0]);
int *c = sort(a, b, a_len, b_len);
int y = 0;
for (; y<a_len+b_len; y++) {
printf("%d ", c[y]);
}
return 0;
}
GO代码:PHP应用
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP针对XML文件操作技巧总结》、《PHP错误与异常处理方法总结》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》PHP应用
希望本文所述对大家PHP程序设计有所帮助.PHP应用
转载请注明本页网址:
http://www.vephp.com/jiaocheng/2828.html