29 lines
727 B
TypeScript
29 lines
727 B
TypeScript
// sortAndGetLargest.ts
|
|
|
|
function swap(arr: number[], i: number, j: number): void {
|
|
const tmp: number = arr[i];
|
|
arr[i] = arr[j];
|
|
arr[j] = tmp;
|
|
}
|
|
|
|
function sortAndGetLargest(arr: number[]): number {
|
|
if (arr.length === 0) {
|
|
throw new Error("Array must not be empty");
|
|
}
|
|
|
|
// Sort the array in descending order
|
|
for (let i = 0; i < arr.length; i += 1) {
|
|
for (let j = i + 1; j < arr.length; j += 1) {
|
|
if (arr[i] < arr[j]) {
|
|
swap(arr, i, j);
|
|
}
|
|
}
|
|
}
|
|
|
|
// The largest element is now at index 0
|
|
return arr[0];
|
|
}
|
|
|
|
const largest: number = sortAndGetLargest([99, 2, 43, 8, 0, 21, 12]);
|
|
console.log(largest); // should be 99, but prints 0
|