insertion sort
def insertionSort(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i-1
while j >= 0 and key < arr[j] :
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
insertion sort
def insertionSort(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i-1
while j >= 0 and key < arr[j] :
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
insertion sort
// Por ter uma complexidade alta,
// não é recomendado para um conjunto de dados muito grande.
// Complexidade: O(n²) / O(n**2) / O(n^2)
// @see https://www.youtube.com/watch?v=TZRWRjq2CAg
// @see https://www.cs.usfca.edu/~galles/visualization/ComparisonSort.html
function insertionSort(vetor) {
let current;
for (let i = 1; i < vetor.length; i += 1) {
let j = i - 1;
current = vetor[i];
while (j >= 0 && current < vetor[j]) {
vetor[j + 1] = vetor[j];
j--;
}
vetor[j + 1] = current;
}
return vetor;
}
insertionSort([1, 2, 5, 8, 3, 4])
Insertion Sort
class Sort
{
static void insertionSort(int arr[], int n)
{
if (n <= 1) //passes are done
{
return;
}
insertionSort( arr, n-1 ); //one element sorted, sort the remaining array
int last = arr[n-1]; //last element of the array
int j = n-2; //correct index of last element of the array
while (j >= 0 && arr[j] > last) //find the correct index of the last element
{
arr[j+1] = arr[j]; //shift section of sorted elements upwards by one element if correct index isn't found
j--;
}
arr[j+1] = last; //set the last element at its correct index
}
void display(int arr[]) //display the array
{
for (int i=0; i<arr.length; ++i)
{
System.out.print(arr[i]+" ");
}
}
public static void main(String[] args)
{
int arr[] = {22, 21, 11, 15, 16};
insertionSort(arr, arr.length);
Sort ob = new Sort();
ob.display(arr);
}
}
Copyright © 2021 Codeinu
Forgot your account's password or having trouble logging into your Account? Don't worry, we'll help you to get back your account. Enter your email address and we'll send you a recovery link to reset your password. If you are experiencing problems resetting your password contact us