《程式設計珠璣》第十一章 排序

2021-08-30 14:59:33 字數 1533 閱讀 5933

好久沒寫部落格了,最近挺忙的,忙的不可開交,可細想一下,又都是在瞎忙,渾渾噩噩的,不知自己到底忙什麼,又到底有什麼收穫。捫心自問,自己浪費了不少時間。不管怎樣,自己要把握好,有志者就要時時刻刻約束自己的行為,我要這樣嚴格要求自己,不管別人怎麼看待,也不管自己有多痛苦,堅持下去。當然,寫部落格也是一樣,強迫自己每天學點知識,做好總結,同樣也做好以後的規劃。

好了,廢話少說,今天看看了好久未看的《程式設計珠璣》,是11章,關於排序的,都是很熟悉的東西。下邊把我寫點的一些關於排序的程式貼上,算術自己的乙個小總結;

void initialization(int *c)

void display(int *c)

}void quicksort(int * c,int l,int u)

display(c);

/*put c[l] in the middle*/

tmp = c[l];

c[l] = c[m];

c[m] = tmp;

/*quick sort the left and right ones*/

quicksort(c,l,m-1);

quicksort(c,m+1,u);

}void _quicksort(int *c,int l,int u)

/*put c[l] in the middle*/

tmp = c[j];

c[j] = c[l];

c[l] = tmp;

/*sort the left and right ones*/

display(c);

_quicksort(c,l,j-1);

_quicksort(c,j+1,u);

}int get_k_smaller(int *c,int l,int u,int k)

/*put the c[l] int the middle*/

tmp = c[l];

c[l] = c[j];

c[j] = tmp;

/*from c[l+1] to c[j] is smaller than t*/

if (j-l+1 == k) /*the same numbers which is k*/

return c[j];

else if (j-l+1 > k) /*the numbers that small than c[l] is more than k*/

get_k_smaller(c,l,j-1,k); /*find the k_smaller in the smaller piece*/

else get_k_smaller(c,j+1,u,k-j+l-1); /*find the last number without the before (j-l+1)s in the smaller one*/

}/*shell sort*/

void shellsort(int *c,int n)

}}

第十一章 外部排序

第十一章 外部排序 第十一章外部排序 一 內容提要 1 外部排序指待排序檔案較大,記憶體一次存放不下,尚需存放在外部介質的檔案的排序。2 為減少平衡歸併中外存讀寫次數所採取的方法 增大歸併路數和減少歸併段個數。3 利用敗者樹增大歸併路數。4 利用置換 選擇排序增大歸併段長度來減少歸併段個數。5 由長...

第十一章程式設計題

2.在這個題目中,我的設計的不人性化在於,我必須要求使用者給輸入自己要輸入整數的大小,然後我再給他分配記憶體,這分明是通過折磨使用者來使自己的程式變得簡單,而guide s answer則是只需要使用者輸入你該輸入的數即可。程式設計的思路如下 1.先預設一定大小 巨集定義 的記憶體分配 2.然後在讀...

第十一章 網路程式設計

每個網路應用都是基於客戶端 服務端模型的。根據這個模型,乙個用用是由乙個伺服器和乙個或多個客戶端組成的。伺服器管理資源,以某種方式操作資源,為客戶端服務。例如,乙個web伺服器管理著一組磁碟檔案,它會代表客戶端進行檢索和執行。客戶端 服務端模型中的基本操作是事務。乙個客戶端 伺服器事務由以下四步組成...