Описание алгоритма: Для данного массива первоначально предположим, что первая запись образует упорядоченную последовательность, а остальные - неупорядоченные последовательности. Затем, начиная со второй записи, в настоящее время обработанная запись вставляется в предыдущую упорядоченную последовательность в соответствии с размером записи, пока последняя запись не вставлена в упорядоченную последовательность.
Учебное пособие по реализации Java с прямой вставкой
Пример 1
открытый класс вставка {public static void main (string [] args) {int a [] = {9,3,28,6,34,7,10,27,1,5,8}; show (a); for (int i=1;i insertOne(a, i);}show(a);}static void show(int a[]){for (int i=0;i System.out.print(a[i]+" ");}System.out.println();}//Int the kth element into the previous ordered queue static void insertOne(int a[],int k){ for (int i = 0; i <= k; i ++) {if (a [i]> = a [k]) {int temp = a [k]; // положить [k] к промежуточной переменной, прежде чем двигаться // переместиться с числа перед позицией k, пока я не позиционирует (int j = k-1; j> = i; j-) {j+1] = a [J]; Промежуточная переменная для [i], и значение I после перемещения пусто.Пример 2
Сортировка упаковки;/*** Вставить сортировку* Среднее O (n^2), Best O (n), худший O (n^2); Сложность пространства O (1); Стабильный; Просто * @author Zeng * */public Class Insertionsort {public static void insertionsort (int [] a) {int tmp; for (int i = 1; i <a.length; i ++) {for (int j = i; j> 0; j--) {if (a [j] <a [j - 1]) {tmp = a [j]; a [j]; a [j] = tmp;}}}} public static void main (string [] args) {int [] a = {49, 38, 65, 97, 76, 13, 27, 50}; insertisort (a); для (int i: a) system.out.print (i + ");Суммировать
Выше приведено в реализации программы Java программирования прямого примера кода сортировки прямого вставки. Я надеюсь, что это будет полезно для всех. Заинтересованные друзья могут продолжать ссылаться на другие связанные темы на этом сайте. Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это. Спасибо, друзья, за вашу поддержку на этом сайте!