lab13: impl
This commit is contained in:
28
lab13/sortAndGetLargest.ts
Normal file
28
lab13/sortAndGetLargest.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
// 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
|
||||
Reference in New Issue
Block a user