![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Пользователь
Регистрация: 05.06.2011
Сообщений: 58
|
![]()
В роди вот так
Код:
К стати выводить нужно в StringGrid потому что ты же незнаэш сколько у тебя будет проходов |
![]() |
![]() |
![]() |
#12 |
Пользователь
Регистрация: 05.06.2011
Сообщений: 58
|
![]()
В роди вот так
Код: unit Unit2; interface uses Classes,Windows; type TMyThread = class(TThread) //Новый класс protected procedure Execute; override; end; var a: array [0..20] of integer ; i:integer; implementation uses SysUtils, Unit1; var x:integer; //Длинная процедура procedure BubbleSort( var a: array of integer; min, max: Integer); var i, j, tmp: integer; begin for i:=min to max do begin for j:=min to max-i do if A[j]>A[j+1] then begin tmp:=A[j]; A[j]:=A[j+1]; A[j+1]:=tmp; end; //Виводи здесь масив A end; end; procedure InsertionSort( var a: array of integer; N: integer); var B: array [0..10000] of integer; i, j: integer; begin for i:=0 to N do begin j:=i; while (j>1) and (B[j-1]>A[i]) do begin B[j]:=B[j-1]; j:=j-1; end; B[j]:=A[i]; //Здесь вивод масива B end; for i:=0 to N do A[i]:=b[i]; end; procedure QuickSort( var a: array of integer; min, max: Integer); Var i,j,mid, tmp : integer; Begin if min<max then begin mid:=A[min]; i:=min-1; j:=max+1; while i<j do begin repeat i:=i+1; until A[i]>=mid; repeat j:=j-1; until A[j]<=mid; if i<j then begin tmp:=A[i]; A[i]:=A[j]; A[j]:=tmp; end; end; //виводи весь масив A QuickSort(a, min,j); QuickSort(a, j+1,max); end; end; procedure TMyThread.execute; begin Form1.Memo1.Clear; for i:=0 to 19 do begin a[i]:=Random(20) ; Form1.Memo1.Lines.Add(IntToStr(a[i])) end; BubbleSort(a,0,high(a)); for i:=0 to 19 do begin Form1.Memo2.Lines.Add(IntToStr(a[i])) end; InsertionSort(a,high(a)); for i:=0 to 19 do begin Form1.Memo3.Lines.Add(IntToStr(a[i])) end; QuickSort(a,0,high(a)); for i:=0 to 19 do begin Form1.Memo4.Lines.Add(IntToStr(a[i])) end; end; end. Типа так... но я неуверен потому что не пробавал К стати выводить нужно в StringGrid потому что ты же незнаэш сколько у тебя будет проходов |
![]() |
![]() |
![]() |
#13 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
у вас в задании нужно потоки использовать или нет?
если нет, уберите вобще TMyThread, из других потоков нельзя обращаться к VCL если да, создайте 3 потока, каждый будет сортировать своим алгоритмом. Заодно будет видно, кто из потоков быстрей завершится. Только элементов нужно не 20 а 20000 хотя бы, чтобы разница была заметна.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
#14 |
Новичок
Джуниор
Регистрация: 12.06.2011
Сообщений: 9
|
![]()
нужно с потоками, но я создала только один, и все 3 в нем написала, значит надо все в отдельных потоках?
|
![]() |
![]() |
![]() |
#15 |
Новичок
Джуниор
Регистрация: 12.06.2011
Сообщений: 9
|
![]()
можете показать пример хотя бы одного потока с одной сортировкой?
|
![]() |
![]() |
![]() |
#16 |
Новичок
Джуниор
Регистрация: 12.06.2011
Сообщений: 9
|
![]() Код:
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сортировка массива методами предсортировки и слияния, и пирамидальная сортировка. | lenny_24 | Помощь студентам | 2 | 17.04.2011 18:57 |
Сортировка массива | Weyner | Помощь студентам | 2 | 23.10.2010 08:32 |
Потоки в делфи | gr1ngo | Помощь студентам | 4 | 11.12.2009 02:24 |
Сортировка массива выбором и пузырьком (делфи) | kira_truelove | Помощь студентам | 1 | 05.12.2009 14:00 |
Потоки в делфи!!! | S_Yevgeniy | Общие вопросы Delphi | 6 | 13.10.2009 14:20 |