Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 5.00
vadiprog
2 / 2 / 4
Регистрация: 06.11.2011
Сообщений: 108
#1

Сортировка пузырьком, выбором, вставкой - Delphi

28.11.2011, 00:39. Просмотров 1760. Ответов 5
Метки нет (Все метки)

Напишите пожалуйста программы с сортировками пузырьком, выбором, вставкою для одномерных масивов. Надо полностью программы, где сортировки записаны в процедурах.
http://www.cyberforum.ru/delphi-beginners/thread892361.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2011, 00:39
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Сортировка пузырьком, выбором, вставкой (Delphi):

сортировка вставкой
в чем проблема не могу понять ? подскажите плиз. procedure...

Сортировка одномерного массива вставкой
Помогите составить программу, которая осуществляет формирование массива с...

Сортировка пузырьком
Код программы: unit Unit1; interface uses Windows, Messages,...

Сортировка пузырьком
Есть сортировка пузырьком, элементы заносятся в ТStringGrid, отсортированный...

Сортировка пузырьком
Отсортировать пузырьком. Даны 2 массива натуральных чисел размерности n ,...

5
Arcor
4816 / 1817 / 380
Регистрация: 20.11.2009
Сообщений: 5,776
Записей в блоге: 1
28.11.2011, 00:54 #2
пузырьком, процедура сортирует, для примера вывод сделал в 2 листбокса, думаю разберетесь
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
procedure Balloons(var Arr: Array of Integer);
var i,j,k: Integer;
begin
  for i := 0 to Length(Arr) - 2 do
    for j := 0 to length(Arr) - 2 do
      if Arr[j] > Arr[j+1] then
        begin
          k := Arr[j+1];
          Arr[j+1] := Arr[j];
          Arr[j] := k;
        end;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var i: Integer;
    A: Array[0..99] of Integer;
begin
  for i := 0 to Length(A)-1 do
    begin
      A[i] := Random(250);
      ListBox1.Items.Add(IntToStr(A[i]));
    end;
  Balloons(A);
  for i := 0 to Length(A)-1 do
    begin
      ListBox2.Items.Add(IntToStr(A[i]));
    end;
end;
0
vadiprog
2 / 2 / 4
Регистрация: 06.11.2011
Сообщений: 108
28.11.2011, 00:56  [ТС] #3
Цитата Сообщение от Arcor Посмотреть сообщение
пузырьком, процедура сортирует, для примера вывод сделал в 2 листбокса, думаю разберетесь
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
procedure Balloons(var Arr: Array of Integer);
var i,j,k: Integer;
begin
  for i := 0 to Length(Arr) - 1 do
    for j := 0 to length(Arr) - 1 do
      if Arr[j] > Arr[j+1] then
        begin
          k := Arr[j+1];
          Arr[j+1] := Arr[j];
          Arr[j] := k;
        end;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var i: Integer;
    A: Array[0..99] of Integer;
begin
  for i := 0 to Length(A)-1 do
    begin
      A[i] := Random(250);
      ListBox1.Items.Add(IntToStr(A[i]));
    end;
  Balloons(A);
  for i := 0 to Length(A)-1 do
    begin
      ListBox2.Items.Add(IntToStr(A[i]));
    end;
end;
А можно попроще без всяких форм и листбоксов?=)
0
Arcor
4816 / 1817 / 380
Регистрация: 20.11.2009
Сообщений: 5,776
Записей в блоге: 1
28.11.2011, 01:06 #4
можно оформить процедуру вот так, есть возможность выбрать как сортировать убывание/возрастание
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// c = < - сортируем по убыванию
// с = > - сортируем по возрастанию
// с = любой другой символ, выход из программы сортировки
procedure Balloons(var Arr: Array of Integer; c: Char);
var i,j,k: Integer;
begin
  for i := 0 to Length(Arr) - 2 do
    for j := 0 to length(Arr) - 2 do
      if c = '>' then
        begin
          if Arr[j] > Arr[j+1] then
            begin
              k := Arr[j+1];
              Arr[j+1] := Arr[j];
              Arr[j] := k;
            end;
        end
      else if c = '<' then
        begin
          if Arr[j] < Arr[j+1] then
            begin
              k := Arr[j+1];
              Arr[j+1] := Arr[j];
              Arr[j] := k;
            end;
        end
      else
        Exit;
end;
Добавлено через 4 минуты
без форм так без форм, хотя можно было бы и самому сделать... процедура ни капли не изменилась
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
program Project1;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
// c = < - сортируем по убыванию
// с = > - сортируем по возрастанию
// с = любой другой символ, выход из программы сортировки
procedure Balloons(var Arr: Array of Integer; c: Char);
var i,j,k: Integer;
begin
  for i := 0 to Length(Arr) - 2 do
    for j := 0 to length(Arr) - 2 do
      if c = '>' then
        begin
          if Arr[j] > Arr[j+1] then
            begin
              k := Arr[j+1];
              Arr[j+1] := Arr[j];
              Arr[j] := k;
            end;
        end
      else if c = '<' then
        begin
          if Arr[j] < Arr[j+1] then
            begin
              k := Arr[j+1];
              Arr[j+1] := Arr[j];
              Arr[j] := k;
            end;
        end
      else
        Exit;
end;
 
var
    i: Integer;
    A: Array[0..99] of Integer;
begin
  Writeln('Before sorting');
  for i := 0 to Length(A)-1 do
    begin
      A[i] := Random(250);
      Writeln(A[i]);
    end;
  Writeln('');
  Balloons(A, '<');
  Writeln('After sorting');
  for i := 0 to Length(A)-1 do
    begin
      Writeln(A[i]);
    end;
  ReadLn;
end.
0
vadiprog
2 / 2 / 4
Регистрация: 06.11.2011
Сообщений: 108
28.11.2011, 01:11  [ТС] #5
Мне нужно просто стандартный алгоритм сортировки, без всяких приколов, оформленный в процедуре
0
Arcor
4816 / 1817 / 380
Регистрация: 20.11.2009
Сообщений: 5,776
Записей в блоге: 1
28.11.2011, 01:21 #6
Цитата Сообщение от vadiprog Посмотреть сообщение
Мне нужно просто стандартный алгоритм сортировки, без всяких приколов, оформленный в процедуре
ну, а там что не стандартный? если не нравится вперед вот сюда
0
28.11.2011, 01:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2011, 01:21
Привет! Вот еще темы с решениями:

не правильно работает (сортировка массива вставкой)
задача: да одномерный произвольный числовой массив. организовать его...

Сортировка пузырьком StringGrid
Проблема вот такая сделал сортировку,он вроде и сортирует,но! приходится...

Сортировка пузырьком (ошибка исполнения)
такая проблемка, сам компилятор не ругается, но при попытке исполнения...

Сортировка пузырьком + слияние массивов
Есть неупорядоченный массив Нужно пузырьковым методом рассортировать его по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru