0 / 0 / 0
Регистрация: 15.04.2010
Сообщений: 7
1

Метод сортировки массива вставками

12.11.2010, 16:55. Показов 1258. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Объясните, пожалуйста, принцип этого метода
В интернете искал, но там для других языков программирования
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.11.2010, 16:55
Ответы с готовыми решениями:

Предложить метод сортировки текстового массива, отличный от WordBasic.SortArray
Доброго времени суток! Помогите !: Есть одномерный текстовый массив m() содержащий набор...

Написать комментарии, поясняющие принцип сортировки. (Метод сортировки - вставками)
Написать комментарии, поясняющие принцип сортировки. (Метод сортировки - вставками) Если вдруг...

метод сортировки вставками
доброго все времени суток прошу помочь, навтра надо сдавать,а у меня не мысли как это...

Метод сортировки вставками
Написать программу, которая упорядочивает заданную последо-вательность по убыванию методом...

3
4969 / 1641 / 409
Регистрация: 25.04.2010
Сообщений: 4,504
Записей в блоге: 1
13.11.2010, 02:29 2
Вот сортировка на пасе, берёшь и ручками ручками аккуратно переписываешь на бейсик.
Pascal
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
procedure InsertSort( var A : mas );
    var
      i, k : Integer;
      x : itp;
    begin
      { Вставляем в уже отсортированную часть элементы со 2 по max }
      for i := 2 to max do
        begin
          k := i;
          x := A[i];
          { Передвигаем на 1 позицию направо элементы,
            большие вставляемого элемента (он записан в x) }
          { Условие k > 1 гарантирует, что мы не выйдем за
            границу массива, если вставляется элемент,
            меньший всех предыдущих.
            В Turbo Pascal условия вычисляются в обратном порядке,
            поэтому условие цикла while нужно заменить на
            (A[k - 1] > x) and (k > 1) }
          while (k > 1) and (A[k - 1] > x) do
            begin
              A[k] := A[k - 1];
              k := k - 1;
            end;
          { Вставляем элемент в нужную позицию }
          A[k] := x;
        end;
    end;
т.е. получаешь соотв.

PureBasic
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
DECLARE SUB InsertSort (A() AS INTEGER)
 
DIM CCC%(15)
 
  CLS : RANDOMIZE TIMER
  ' Заполнение массива
  FOR i% = 1 TO 15
    CCC%(i%) = RND * 10
    PRINT CCC%(i%);
  NEXT i%: PRINT
     ' Наша сортировка
     InsertSort CCC%()
  ' Вывод на экран
  FOR i% = 1 TO 15
    PRINT CCC%(i%);
  NEXT i%
 
SUB InsertSort (A() AS INTEGER)
 DIM i AS INTEGER, k AS INTEGER
 DIM x AS INTEGER
      ' Вставляем в уже отсортированную часть элементы со 2 по max }
      PRINT UBOUND(A); "Elements"
      FOR i = 2 TO UBOUND(A)
          k = i
          x = A(i)
          ' Передвигаем на 1 позицию направо элементы,
          '  большие вставляемого элемента (он записан в x)
          ' Условие k > 1 гарантирует, что мы не выйдем за
          '  границу массива, если вставляется элемент,
          '  меньший всех предыдущих.
          WHILE (A(k - 1) > x) AND (k > 1)
              A(k) = A(k - 1)
              k = k - 1
          WEND
          ' Вставляем элемент в нужную позицию }
          A(k) = x
      NEXT i
END SUB
Программа взята отсюдова:
Сортировки

Уже тысяча раз поднималась эта тема, можно ведь понять как делать, ВСЁ ЕСТЬ в разделе паскаля, синтаксис перелопачивается элементарно(можно даже простенький конвертер сделать чтоб убирал двоеточия и точки с запятой, тогда работы вообще минимум).
0
Платежеспособный зверь
8818 / 4245 / 1618
Регистрация: 28.10.2009
Сообщений: 11,386
13.11.2010, 10:15 3
>Quiet Snow<, а если в проге попадутся строки, множества, записи?
0
4969 / 1641 / 409
Регистрация: 25.04.2010
Сообщений: 4,504
Записей в блоге: 1
13.11.2010, 22:38 4
Я лишь указал простой путь, всё задачи которые нельзя реализовать напрямую к бейсику не относятся.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2010, 22:38
Помогаю со студенческими работами здесь

Расставить элементы массива в порядке возрастания методом сортировки выбором и сортировки простыми вставками
Здрасьте еще раз!С прошедшим вас праздником! я глупая и бестолковая опять пришла к вам на...

Рекурсивный метод сортировки вставками
Подскажите пожалуйста как реализовать &quot;рекурсивный метод сортировки вставками&quot;.

Упорядочить массив x по неубыванию, используя метод сортировки вставками
Задача: const n=5; var x:array of real; Упорядочить массив x по неубыванию, используя метод...

Упорядочить массив x ( n ) по убыванию , используя метод сортировки вставками
Упорядочить массив x ( n ) по убыванию , используя метод сортировки вставками : пусть первые к...

Изменить метод "быстрой сортировки" на метод "сортировки вставками"
Как изменить метод &quot;интеративной быстрой сортировки&quot; на метод &quot;сортировки вставками «с конца...

Подпрограмма сортировки массива из записей вставками
Разработать программу с подпрограммой сортировки вставками массива из записей. Заранее спасибо.


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru