使用乙個盡可能在檔案中間劃分的元素。
一種選擇劃分元素的方法是從檔案中取出三個元素,使用三個元素的中間元素作為劃分元素。取陣列中的左邊元素、中間元素和右邊元素,對這三個元素排序。以中間值為劃分元素!
void quicksort_smallfile_median(item a, int l, int r) //小檔案排序採用插入排序方法,三者取中
exch(a[(l+r)/2], a[r-1]); //陣列中間值與a[r-1]交換
//三交換法對三個元素進行排序
compexch(a[l], a[r-1]);
compexch(a[l], a[r]);
compexch(a[r-1], a[r]);
i = partition(a, l+1, r-1); //劃分元素為a[r-1],劃分時候,將已經以劃分元素排序的a[l],a[r]排除在外
quicksort(a, l, i-1);
quicksort(a, i+1, r);
}
centos7中的lamp的快速搭建 三者分離
centos7中的lamp的快速搭建 三者分離 原文 標籤 lamp分離安裝 centos 7,lamp php fpm 要求 1 三者分離於三颱主機 2 乙個虛擬主機用於提供phpmyadmin 另乙個虛擬主機用於提供wordpress 3 xcache 一 準備工作 準備三颱伺服器a,b,c,分...
GTK GDK GLIB三者的關係
什麼是glib?glib庫提供了一系列函式 functions 和定義 definitions 在設計gdk和gtk程式時很有用.它提供了一些標準c函式庫 standard libc 的替代函式,比如malloc,但在其他的系統上使用時有很多問題.什麼是gtk gtk 是乙個小型而高效的控制項庫,具...
GTK GDK GLIB三者的關係
什麼是gdk?glib庫提供了一系列函式 functions 和定義 definitions 在設計gdk和gtk程式時很有用.它提供了一些標準c函式庫 standard libc 的替代函式,比如malloc,但在其他的系統上使用時有很多問題.什麼是gtk gtk 是乙個小型而高效的控制項庫,具有...