Хотите приостановить программу сортировки, а затем возобновить - PullRequest
1 голос
/ 31 марта 2012

Я работаю над программой, которая должна отсортировать несколько чисел в c #. Я хочу приостановить эту сортировку на некоторое время на основе пользовательского ввода, а затем возобновить ее с того места, где она была остановлена.

Я использую пузырьковую сортировку для сортировки чисел. Что может быть лучшим способом приостановить эту сортировку между ними? Это можно сделать с помощью потоков или каких-то событий?

Ответы [ 3 ]

0 голосов
/ 31 марта 2012

вы можете сделать новый поток. Сортировать вашу информацию в этой новой теме. Вы можете приостановить это, когда вам это нужно. Подробнее о "Thread.Suspend"

0 голосов
/ 31 марта 2012

Если вы сортируете только несколько чисел, вы не сможете приостановить их для пользовательского ввода - это будет сделано до того, как любой пользовательский ввод станет возможным, если вы не используете что-то вроде Bogosort

0 голосов
/ 31 марта 2012

Большинство алгоритмов сортировки могут быть представлены в виде одного цикла и, следовательно, могут быть легко приостановлены на любой итерации.Для пузырьковой сортировки, поскольку она приостанавливается во внешнем цикле, может быть достаточно, просто запомните, где вы остановились, и перезапустите из этого индекса.

Написание многопоточной сортировки - это весело, но если ваша оригинальная однопоточная, я не будучтобы понять, как многопоточность может помочь ... Вам нужно предоставить более подробную информацию о том, что вы пытаетесь сделать, чтобы получить лучшие ответы в части многопоточности / события.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...