原创 c++遇到無法打開PDB文件該怎麼解決?

“Project2.exe”(Win32): 已加載“D:\c++\Project2\Debug\Project2.exe”。已加載符號。 “Project2.exe”(Win32): 已加載“C:\Windows\SysWOW6

原创 char *const p,const char *p,char const *p和區別(容易混淆)

我在c++中學到了這個地方的時候,我們會碰到下列的這些定義. char *const p const char *p char const *p 如果學得不夠深入的話,很難分清這些區別。 我們來看第一種char *const p

原创 散列表是什麼,你真的懂了嗎?

散列表(Hash table,也叫哈希表),是根據關鍵碼值(Key value)而直接進行訪問的數據結構。也就是說,它通過把關鍵碼值映射到表中一個位置來訪問記錄,以加快查找的速度。這個映射函數叫做散列函數,存放記錄的數組叫做散列表

原创 案例5-1.3 整型關鍵字的散列映射 (25分)(C語言實現)(數據結構)

給定一系列整型關鍵字和素數P,用除留餘數法定義的散列函數將關鍵字映射到長度爲P的散列表中。用線性探測法解決衝突。 輸入格式: 輸入第一行首先給出兩個正整數N(≤1000)和P(≥N的最小素數),分別爲待插入的關鍵字總數、以及散列表

原创 十大排序之基數排序(C語言實現)(數據結構)

基數排序(radix sort)屬於“分配式排序”(distribution sort),又稱“桶子法”(bucket sort)或bin sort,顧名思義,它是透過鍵值的部份資訊,將要排序的元素分配至某些“桶”中,藉以達到排序

原创 案例5-1.4 字符串關鍵字的散列映射 (25分)(數據結構)(C語言實現)

給定一系列由大寫英文字母組成的字符串關鍵字和素數P,用移位法定義的散列函數H(Key)將關鍵字Key中的最後3個字符映射爲整數,每個字符佔5位;再用除留餘數法將整數映射到長度爲P的散列表中。例如將字符串AZDEG插入長度爲1009

原创 案例7-1.2 插入排序還是歸併排序 (25分)(數據結構)(C語言實現)

根據維基百科的定義: 插入排序是迭代算法,逐一獲得輸入數據,逐步產生有序的輸出序列。每步迭代中,算法從輸入序列中取出一元素,將之插入有序序列中正確的位置。如此迭代直到全部元素有序。 歸併排序進行如下迭代操作:首先將原始序列看成 N

原创 十大排序之歸併排序(C語言實現)(排序算法)(遞歸和非遞歸)

歸併排序(MERGE-SORT)是建立在歸併操作上的一種有效的排序算法,該算法是採用分治法(Divide and Conquer)的一個非常典型的應用。將已有序的子序列合併,得到完全有序的序列;即先使每個子序列有序,再使子序列段間

原创 十大排序之冒泡排序(C語言)

冒泡排序(Bubble Sort),是一種計算機科學領域的較簡單的排序算法。 它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果順序(如從大到小、首字母從Z到A)錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰

原创 案例7-1.5Sort with Swap(0, i) or與零交換 (25分)(數據結構)(C語言實現)

將 { 0, 1, 2, …, N-1 } 的任意一個排列進行排序並不困難,這裏加一點難度,要求你只能通過一系列的 Swap(0, *) —— 即將一個數字與 0 交換 —— 的操作,將初始序列增序排列。例如對於初始序列 { 4,

原创 十大排序之希爾排序(C語言實現)(排序算法)

希爾排序(Shell’s Sort)是插入排序的一種又稱“縮小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一種更高效的改進版本。希爾排序是非穩定排序算法。該方法因D.L.Shell於19

原创 十大排序之插入排序(排序算法)(C語言實現)

插入排序,一般也被稱爲直接插入排序。對於少量元素的排序,它是一個有效的算法 。插入排序是一種最簡單的排序方法,它的基本思想是將一個記錄插入到已經排好序的有序表中,從而一個新的、記錄數增1的有序表。在其實現過程使用雙層循環,外層

原创 基礎實驗5-2.1 整型關鍵字的平方探測法散列 (25分)(C語言實現)(數據結構)

本題的任務很簡單:將給定的無重複正整數序列插入一個散列表,輸出每個輸入的數字在表中的位置。所用的散列函數是 H(key)=key%TSize,其中 TSize 是散列表的表長。要求用平方探測法(只增不減,即H(Key)+i^2​​

原创 08-圖7 公路村村通 (30分)(C語言實現)(數據結構)

現有村落間道路的統計數據表中,列出了有可能建設成標準公路的若干條道路的成本,求使每個村落都有公路連通所需要的最低成本。 輸入格式: 輸入數據包括城鎮數目正整數N(≤1000)和候選道路數目M(≤3N);隨後的M行對應M條道路,每行

原创 十大排序之桶排序(數據結構)(排序算法)(C語言實現)

桶排序 (Bucket sort)或所謂的箱排序,是一個排序算法,工作的原理是將數組分到有限數量的桶子裏。每個桶子再個別排序(有可能再使用別的排序算法或是以遞歸方式繼續使用桶排序進行排序)。桶排序是鴿巢排序的一種歸納結果。當要被排