php 数组排序:php实现各种排序
/**
* 各种排序
* @author zhaojaingwei
* @since 2011/11/21 16:14
*
*/
$list = array(3,5,1,2,10,8,15,19,20);
//快排
function fast(&$list, $low, $high){
if($high - $low > 5){
while($low $key = excute($list, $low, $high);
fast($list, $low, $key - 1);
//fast($list, $key + 1, $high);//普通递归实现
$low = $key + 1;//尾递归实现
}
}else{
insert($list);
}
}
//快排执行一次排序
function excute(&$list, $low, $high){
swap($list, $low, ($low + $high)/2);
$temp = $list[$low];
while($low while($low $temp){
$high --;
}
$list[$low] = $list[$high];
while($low $low ++;
}
$list[$high] = $list[$low];
}
$list[$low] = $temp;
return $low;
}
//堆排序
function heap(&$list){
buildheap($list);
for($i = count($list) - 1; $i > 0; $i --){
swap($list, $i, 0);
heapfy($list, 0, $i - 1);
}
}
//创建堆
function buildheap(&$list){
for($i = (count($list) - 2)/2; $i >= 0; $i --){
heapfy($list, $i, count($list) - 1);
}
}
//维护堆
function heapfy(&$list, $low, $high){
$temp = $list[$low];
for($i = ($low * 2 + 1); $i if($i $i ++;
}
if($temp swap($list, $i, $low);
$low = $i;
}else{
break;
}
}
$list[$low] = $temp;
}
//希尔排序
function shell(&$list){
$a = 0;
$code = count($list)/3 + 1;
while($code >= 1){
for($i = $code; $i $a ++;
if($list[$i] $temp = $list[$i];
$list[$i] = $list[$i - $code];
$j = $i - 2*$code;
for(; $j >= 0 && $list[$j] > $temp; $j -= $code){
$list[$j + $code] = $list[$j];
$a ++;
}
$list[$j + $code] = $temp;
}
}
$code = $code/3;
}
echo $a;
}
//直接插入排序
function insert(&$list){
$a = 0;
for($i = 1; $i $a ++;
if($list[$i] $temp = $list[$i];
$list[$i] = $list[$i - 1];
$j = $i - 2;
for(; $list[$j] > $temp; $j --){
$a ++;
$list[$j + 1] = $list[$j];
}
$list[$j + 1] = $temp;
}
}
echo $a;
}
//简单选择排序
function select(&$list){
$a = 0;
for($i = 0; $i $min = $i;
$a ++;
for($j = $i + 1; $j $a ++;
if($list[$j] $min = $j;
}
}
if($min != $i)
swap($list, $i, $min);
}
echo $a;
}
//冒泡排序
function bubble(&$list){
$swap = true;
$a = 0;
for($i = 0; $i $swap = false;
$a ++;
for($j = count($list) - 2; $j >= $i; $j --){
$a ++;
if($list[$j] > $list[$j + 1]){
$swap = true;
swap($list, $j, $j + 1);
}
}
}
echo $a;
}
//移动或交换函数
function swap(&$list, $i, $j){
$temp = $list[$i];
$list[$i] = $list[$j];
$list[$j] = $temp;
}
?> 本文链接http://www.cxybl.com/html/wlbc/Php/20120607/28506.html

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

function是函數的意思,是一段具有特定功能的可重複使用的程式碼區塊,是程式的基本組成單元之一,可以接受輸入參數,執行特定的操作,並傳回結果,其目的是封裝一段可重複使用的程式碼,提高程式碼的可重複使用性和可維護性。

temp資料夾是我們的臨時檔案儲存位置,系統會將暫存檔案儲存到這個資料夾中,如果暫存檔案過多,尤其是當temp資料夾在系統磁碟時,很有可能會影響系統運作速度。我們可以透過更改temp位置的方式來解決問題,下面一起來看看吧。 win7temp位置更改教程1、首先右鍵選擇“計算機”,打開“屬性”2、點擊左邊的“高級系統設定”3、點擊下方的“環境變量”4、選中“temp”點擊“編輯”5、然後將「變數值」改為需要變更的路徑即可。

在電腦裡,temp的意思是“臨時資料夾”,該資料夾中保存了許多臨時檔案;其作用是臨時保存應用程式中使用者的工作結果,以防止意外情況造成損失。刪除temp檔案可以釋放硬碟儲存空間,但刪除後第一次開啟應用程式會比較慢。
![如何修復 Windows 11 / 10 中的處理器熱跳脫錯誤 [修復]](https://img.php.cn/upload/article/000/000/164/168169038621890.png?x-oss-process=image/resize,m_fill,h_207,w_330)
大多數設備(例如筆記型電腦和桌上型電腦)長期被年輕遊戲玩家和編碼人員頻繁使用。由於應用程式過載,系統有時會掛起。這使用戶被迫關閉他們的系統。這主要發生在安裝和玩重遊戲的玩家身上。當系統在強制關閉後嘗試啟動時,它會在黑屏上拋出一個錯誤,如下所示:以下是在此引導期間檢測到的警告。這些可以在事件日誌頁面的設定中查看。警告:處理器熱跳閘。按任意鍵繼續。 ..當桌上型電腦或筆記型電腦的處理器溫度超過其閾值溫度時,總是會拋出這些類型的警告訊息。下面列出了Windows系統上發生這種情況的原因。許多繁重的應用程式在
![內部錯誤:無法建立臨時目錄 [已解決]](https://img.php.cn/upload/article/000/000/164/168171504798267.png?x-oss-process=image/resize,m_fill,h_207,w_330)
Windows系統允許使用者使用可執行/設定檔在您的系統上安裝各種類型的應用程式。最近,許多Windows用戶開始抱怨他們收到一個名為INTERNALERROR:cannotcreatetemporarydirectory在他們的系統上嘗試使用可執行檔安裝任何應用程式的錯誤。問題不僅限於此,而且還阻止用戶啟動任何現有的應用程序,這些應用程式也安裝在Windows系統上。下面列出了一些可能的原因。執行可執行檔進行安裝時不授予管理員權限。為TMP變數提供了無效或不同的路徑。損壞的系

temp是臨時資料夾,在路徑「C:\Documents and Settings\Administrator\Local Settings\」內,許多臨時檔案放在這裡,收藏夾,瀏覽網頁的臨時文件,編輯文件等。

List操作//從list頭部插入一個值。 $ret=$redis->lPush('city','guangzhou');//從list尾部插入一個值。 $ret=$redis->rPush('city','guangzhou');//取得清單指定區間中的元素。 0表示列表第一個元素,-1表示最後一個元素,-2表示倒數第二個元素。 $ret=$redis->l

1:JSONArray轉ListJSONArray字串轉List//初始化JSONArrayJSONArrayarray=newJSONArray();array.add(0,"a");array.add(1,"b");array.add(2,"c") ;Listlist=JSONObject.parseArray(array.toJSONString(),String.class);System.out.println(list.to
