Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Двунаправленный список

41K
19 ноября 2009 года
oshilan
24 / / 15.11.2009
Помогите решить: "Создать двунаправленный список и разместить в нём в определённом порядке данные о колоде карт. Разработать программу, проводящую перемешивание колоды путём сдвига и перестановки её частей, результаты перемешивания вывести на экран"
416
19 ноября 2009 года
MaitreDesir
380 / / 02.01.2008
Пример двусвязного списка на паскале.
В поле дата желательно хранить следующий тип:
 
Код:
type
  TSuite = (stDiamonds,stHearts,stClubs,stPeaks);
  TCard = record
    Suite : TSuite;    {Масть}
    Number : Byte;    {Значение}
  end;

Когда сделаешь - дальнейший алгоритм такой:
1. Определяем рандомом число перемешиваний.
2. Циклом от 1 до числа перемешиваний.
3. Генерируем случайное число 1<N<35 - начало той части колоды, которую будем изымать.
4. Генерируем случайное число 1<M<36-N - длина последовательности, которая изымается.
5. Генерируем случайное число 0<P<N-1 - позиция, в которую будем вставлять кусок колоды.
6. Переносим кусок колоды, заданный (N;M) в другой список.
7. Сливаем эти списки, вставляя начиная с позиции P.

Подробнее о списках можешь почитать здесь.
41K
19 ноября 2009 года
oshilan
24 / / 15.11.2009
Спасибо! +1
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог