好久沒寫部落格了,最近挺忙的,忙的不可開交,可細想一下,又都是在瞎忙,渾渾噩噩的,不知自己到底忙什麼,又到底有什麼收穫。捫心自問,自己浪費了不少時間。不管怎樣,自己要把握好,有志者就要時時刻刻約束自己的行為,我要這樣嚴格要求自己,不管別人怎麼看待,也不管自己有多痛苦,堅持下去。當然,寫部落格也是一樣,強迫自己每天學點知識,做好總結,同樣也做好以後的規劃。
好了,廢話少說,今天看看了好久未看的《程式設計珠璣》,是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伺服器管理著一組磁碟檔案,它會代表客戶端進行檢索和執行。客戶端 服務端模型中的基本操作是事務。乙個客戶端 伺服器事務由以下四步組成...