php 4大基礎排序演算法

2021-08-18 02:29:58 字數 1929 閱讀 4598

第一氣泡排序

/*** 氣泡排序

* 思路:每次迴圈排列出乙個最大的數

*/public

function

mao_paoop()  

}  }  

$this

->response(

$data

,2000);  

}第二選擇排序

/*** 選擇排序

* 思路:每一趟在n-i+1(i = 1,2,…,n-1)個記錄中選擇關鍵字最小的記錄作為有序序列中第i個記錄,

* 其中最簡單的是簡單選擇排序,其過程如下:通過n-i次關鍵字間的比較,

* 從n-i+1個記錄中選擇出關鍵字最小的記錄,並各第i個記錄交換之。

*/public

function

select_mathop()  

}  //發現最小的和當前的位置不一樣 對調if(

$p!=

$i)  

}  $this

->response(

$data

,2000);  

}第三插入排序

/*** 插入排序

* 思路:通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。插入排序在實現上,

* 通常採用in-place排序(即只需用到o(1)的額外空間的排序),因而在從後向前掃瞄過程中,

* 需要反覆把已排序元素逐步向後挪位,為最新元素提供插入空間

*/public

function

insert_mathop()else

}  }  $this

->response(

$data

,2000);  

}第四快速排序

/*** 快速排序

* 思路:先對陣列進行分割, 把大的元素數值放到乙個臨時陣列裡,

* 把小的元素數值放到另乙個臨時陣列裡(這個分割的點可以是陣列中的任意乙個元素值,一般用第乙個元素,即$array[0]),

* 然後繼續把這兩個臨時陣列重複上面拆分,最後把小的陣列元素和大的陣列元素合併起來。這裡用到了遞迴的思想。

*/public

function

quick_sort_mathop() 

/*** 使用遞迴方式

* @param $data

* @return array

*/public

function

quick_sort(

$data

)  $base_num

= $data

[0];  

$left_data

= array

(); 

//小於

$right_data

= array

();  

//大於

for(

$i=1;

$i<

$total;$i

++)else

}  $left_data

= $this

->quick_sort(

$left_data

);  

$right_data

= $this

->quick_sort(

$right_data

);  

$data_tmp

= array_merge

($left_data

,array

($base_num

),$right_data

);  

return

$data_tmp

;  }  

php 4大基礎演算法

氣泡排序 思路 每次迴圈排列出乙個最大的數 public function mao paoop this response data,2000 選擇排序 思路 每一趟在n i 1 i 1,2,n 1 個記錄中選擇關鍵字最小的記錄作為有序序列中第i個記錄,其中最簡單的是簡單選擇排序,其過程如下 通過n...

php 4 魔術常量

line 檔案中的當前行號。echo 這是第 line 行 這是第 9 行 file 檔案的完整路徑和檔名。如果用在被包含檔案中,則返回被包含的檔名。自 php 4.0.2 起,file 總是包含乙個絕對路徑 如果是符號連線,則是解析後的絕對路徑 而在此之前的版本有時會包含乙個相對路徑。echo 該...

PHP4 中的引用

引用是個很奇妙的東西,有點類似c中的指標,但是又不一樣!在php中,引用只是變數內容的另外乙個名字。下面我打幾個比方說明一下 只是php4的內容,php5中關於類和物件的用法有很大的變化,還沒有仔細研究過 1 a b 這裡建立了乙個引用 a,他指向變數名為 b的變數所指向的變數內容,羅嗦一點了啊。打...