![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сортировка "пузырьком" [D7]
Evgeniy © (2012-03-12 16:35:00)Добрый день! Прошу прощения за то, что открываю уже "хорошо избитую" тему на страницах данного сайта, но объясню это тем, что я очень плохо разбираюсь в delphi, но мне необходимо научиться с ним работать, поэтому буду очень признателен за помощь!
Итак, задача заключается в следующем. Необходимо отсортировать массив случайно сгенерированных чисел в ListBox1 (по возрастанию/убыванию) методом "пузырька", посредством выбора соответствующей кнопки в RadioGroup, а затем вывести отсортированный массив в ListBox2.
Мне удалось сделать генератор чисел в ListBox. Проблема заключается в том, что я не понимаю как взять числа из ListBox1, отсортировать их, приняв во внимание значения RadioGroup (по возрастанию/убыванию) и затем вывести отсортированный массив в ListBox2...
Я очень хочу разобраться в этой задаче, очень Вас прошу помочь! Если можно, объясните мне пошагово что и как нужно писать в коде. Наброски своего кода прилагаю. Заранее спасибо!smiley
procedure SortBubble(Sender: TObject);
var i,n, min: integer;
begin
min:=1;
for i:=2 to n+1 do
if i < min then min:=i;
Form1.ListBox2:=IntToStr(min);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SortBubble(ListBox1.Items);
end;
procedure TForm1.Button2Click(Sender: TObject);
var i: integer;
begin
randomize;
for i:= 1 to 10 do
ListBox1.Items.Add(IntToStr(random(10)));
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
ListBox1.Items.Clear;
ListBox2.Items.Clear;
Edit1.Clear;
end;
end.
RWolf (2012-03-12 16:48:00) [21]готовый пример сортировки пузырьком есть в подкаталоге Demos\Threads.
stas (2012-03-12 16:45:00) [22]У Вас очень уж много ошибок, во всем разбираться нет времени, вот пример как можно оформить процедуру.
procedure SortBubble(ListSource,ListDest: TStrings);
var i,n, min: integer;
begin
min:=1;
for i:=0 to List.Count-1 do
begin
.....
ListDest:=IntToStr(min);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SortBubble(ListBox1.Items,ListBox2.Items);
end;
Хотя можно не заморачиваться пока с параметрами и сделать ее методом класса TForm1
А можно отсортировать еще ListBox свойством Sorted:=true, но в этом случае будет так
1
10
11
2
3
4