2015-05-11 55 views
-3

我該如何做這個編程? 你能給我許多提示或建議嗎?來自文件插入的C輸入/輸出排序

  • C:讀取文件並獲得單詞是字母排序(我沒有讀,但我沒有排序)
+1

這個問題對於StackOverflow太廣泛了。您需要先嚐試一下(顯示您的實際代碼),然後提出具體問題,解釋您嘗試的內容以及您具體遇到的具體問題。 – kaylum

+0

對於c)和d),您需要某種方式來存儲文件中的單詞,如具有足夠列來存儲最長單詞的矩陣或指向緩衝區中單詞的指針數組。你需要保留單詞的原始版本,然後對於d),複製單詞或指針,獲得時間,進行排序,再次獲得時間......,這樣做5次。 – rcgldr

回答

1

它看起來像問題措辭不當;是c應該指示你閱讀單詞到未排序的列表?這對我來說很有意義。

無論如何,設計您的insertionsort函數以匹配標準庫的原型qsort。通過這種方式,您可以重用您的代碼並移動用於比較排序功能中兩個單詞的邏輯。確定一個單詞「是否在另一個單詞之前」是微不足道的。

要計算算法的運行時間,請查看clock函數。這不會返回程序的運行時間,但可以更好地指示排序算法花費的CPU時間。如果可能,減少程序運行時間的一個好方法是避免在循環中進行系統調用和堆分配。請注意,插入排序具有非常糟糕的最壞情況時間複雜度,但對於幾乎排序的數據非常有用。爲您的數據集選擇正確的排序算法可以產生很大的不同。