当前位置:编程学习 > php >>

php多个数组排序

$sql_e="SELECT top $top_shuzi $ziduan from $biao $where_sousuo";
$query_e= mssql_query($sql_e);

while($rs=mssql_fetch_array($query_e))//把数据读入数组
{

$ppp=array("mingzi"=>$rs[mingzi],"baifenbi"=>baifenbi($sousuo,$rs[mingzi]));
上面这句是把数据库里的字段,和我自己设置的一个百分比的字段都写入一个数组里.
baifenbi($sousuo,$rs[mingzi])这是我自己写的百分比计算函数
这里汉族要的问题,就是怎样让这个数据库的字段按照我写的那个百分比的函数大小排序
这里由于是while循环 所以显示出来的数组是这样的:是三个数组
Array ( [mingzi] => 廖辉 [baifenbi] => 100 )
Array ( [mingzi] => 阿飞廖辉爱的色放 [baifenbi] => 25 )
Array ( [mingzi] => 廖辉啊打发 [baifenbi] => 40 )
我数据库里又三行数据,这里就是怎么样让这三个数组按数组里面的百分比由大到小排序

是三个数组排序啊,不是数组里面的数值排序



}
答案:
#include<iostream>

using namespace std;

int size = 0;
int arrays[100];

int median3( int a[] , int left , int right )
{

return 0;
}

void quicksort( int a[] , int left , int right )
{
int temp = 0;
int flag = 0;
if( left < right -1 )
{
int center = ( left + right ) / 2;

if( a[center] < a[left] )
{
temp = a[center];
a[center] = a[left];
a[left] = temp;
}
if( a[right] < a[left] )
{
temp = a[right];
a[right] = a[left];
a[left] = temp;
}
if( a[center] > a[right] )
{
temp = a[center];
a[center] = a[right];
a[right] = temp;
}

temp = a[right - 1];
a[right - 1] = a[center];
a[center] = temp;

int pivot = a[right - 1];
int i = left;
int j = right - 1;

for( ; ; )
{
while( a[++i] < pivot ) {}
while( pivot < a[--j] ) {}
if( i < j )
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
else
{
if( j == right - 2 )
{
flag = 1;
break;
}
else
break;
}
}

if(flag == 1)
{
i = right - 1;
}
else
{
temp = a[i];
a[i] = a[right - 1];
a[right - 1] = temp;
}

quicksort( a , left , i - 1 );
quicksort( a , i + 1 , right );
}

else
{
if( a[left] > a[right] )
{
temp = a[left];
a[left] = a[right];
a[right] = temp;
}
}

for( int k = 0 ; k < size ; k++ )
{
arrays[k] = a[k];
}
}

上一个:让iis6支持mp4格式文件的设置方法
下一个:怎样通过javascript传id到php页面

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,