From 37da2c85ec2aa0f7b89a0085891ca27b6b383f84 Mon Sep 17 00:00:00 2001 From: Vasily Guzov Date: Sun, 22 Sep 2024 13:06:47 +0300 Subject: [PATCH] [solution] insertion sort words add --- lib/insertionsort.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/insertionsort.ts b/lib/insertionsort.ts index fcb5185..adfbd8c 100644 --- a/lib/insertionsort.ts +++ b/lib/insertionsort.ts @@ -3,6 +3,9 @@ const SORT_STR = "eiinnoorrsstt"; const NUMB = [12, -2, 55, 68, 80]; const SORT_NUMB = [-2, 12, 55, 68, 80]; +const WORDS = ["strc", "avgrs", "bds"]; +const SORT_WORDS = ["avgrs", "bds", "strc"]; + function swapCharsInString(str: string, i: number, j: number) { return ( str.substring(0, i) + @@ -13,14 +16,19 @@ function swapCharsInString(str: string, i: number, j: number) { ); } -const swapElements = (arr: number[], index1: number, index2: number) => { +const swapElements = ( + arr: number[] | string[], + index1: number, + index2: number, +) => { [arr[index1], arr[index2]] = [arr[index2], arr[index1]]; }; export function insertionSort(str: string): string; export function insertionSort(arr: number[]): number[]; +export function insertionSort(arr: string[]): string[]; -export function insertionSort(sortItems: string | number[]) { +export function insertionSort(sortItems: string | number[] | string[]) { let L: number, R: number; for (L = 1; L < sortItems.length; L++) { @@ -47,3 +55,4 @@ export function insertionSort(sortItems: string | number[]) { console.log(insertionSort(STR), SORT_STR); console.log(insertionSort(NUMB), SORT_NUMB); +console.log(insertionSort(WORDS), SORT_WORDS);