2012-03-31 68 views
1

我正在研究一個需要在c#中排序幾個數字的程序。 我想根據用戶輸入暫停此排序一段時間,然後從停止的地方恢復。想要暫停排序程序,然後再恢復

我正在使用冒泡排序來排序數字。 什麼可能是暫停這種排序之間的最佳方式? 它可以使用線程或某些事件來完成嗎?

回答

0

大多數排序算法可以表示爲單循環,因此可以在任何迭代中輕鬆暫停。對於在外部循環中暫停的冒泡排序可能就足夠了,只要記住你已經停止並從那個索引重新開始的地方。

編寫多線程排序很有趣,但是如果你原來的單線程是單線程的,我不會看到多線程如何提供幫助......你需要提供更多關於你想要做什麼以獲得更好的多線程答案的細節/事件部分。

0

你可以創造新的流。在這個新的線程中排序你的信息。 你可以暫停它,當你需要它。 瞭解更多關於「Thread.Suspend」的信息

0

如果你只是排序幾個數字,你將無法暫停它以供用戶輸入 - 這將在任何用戶輸入之前完成除非你使用類似Bogosort